CSS functional notation is a type of CSS value that can represent more complex data types or invoke special data processing or calculations.
selector { property: functional-notation( [argument]? [, argument]! ); }
The syntax starts with the name of the functional notation, followed by a left parenthesis (
. Next up are the notation argument(s), and the function is finished off with a closing parenthesis )
.
Functions can take multiple arguments, which are formatted similarly to CSS property values. Whitespace is allowed, but they are optional inside the parentheses. In some functional notations multiple arguments are separated by commas, while others use spaces.
Functional notation defined by a set of CSS specifications includes the following:
blur()
(filter)brightness()
(filter)calc
(math)character-variant()
(font)circle()
(shape)clamp
(math)color()
(colors)
conic-gradient
cos()
(math)
counter
counters
contrast()
(filter)cross-fade
cubic-bezier()
device-cmyk()
(colors)
drop-shadow()
(filter)grayscale()
(filter)hsl()
(colors)hsla()
(colors)hue-rotate()
(filter)hwb()
(colors)
hypot()
(math)
image()
image-set()
inset()
(shape)invert()
(filter)opacity()
(filter)ornaments()
(font)paint()
path()
(shape)perspective()
(transform)polygon()
(shape)pow()
(math)
radial-gradient()
rem()
(math)
repeat()
repeating-linear-gradient()
repeating-radial-gradient()
repeating-conic-gradient()
rotate()
(transform)rotate3d()
(transform)rotatex()
(transform)rotatey()
(transform)rotatez()
(transform)round()
(math)
saturate()
(filter)scale()
(transform)scale3d()
(transform)scalex()
(transform)scaley()
(transform)scalez()
(transform)sepia()
(filter)sign()
(math)
sin()
(math)
skew()
(transform)skewx()
(transform)skewy()
(transform)sqrt()
(math)
steps()
styleset()
(font)stylistic()
(font)swash()
(font)symbols()
tan()
(math)
target-counter()
target-counters()
target-text()
toggle()
translate()
(transform)translate3d()
(transform)translatex()
(transform)translatey()
(transform)translatez()
(transform)Specification | Status | Comment |
---|---|---|
CSS Values and Units Module Level 4 | Editor's Draft | Adds toggle() , attr() , calc() , min() , max() , clamp() , round() , mod() , rem() , mod() , sin() , cos() , tan() , asin() , acos() , atan() , atan2() , pow() , sqrt() , hypot() , log() , exp() , abs() and sign() functional notation. |
CSS Values and Units Module Level 3 | Candidate Recommendation | Adds calc() functional notation. |
CSS Color Module Level 4 | Working Draft | Adds commaless syntaxes for the rgb() , rgba() , hsl() , and hsla() functional notation.Allows alpha values in rgb() and hsl() , turning rgba() and hsla() into (deprecated) aliases for them.Adds hwb() , device-cmyk() , and color() functions. |
CSS Color Module Level 3 | Recommendation | Adds rgba() , hsl() , hsla() functional notation. |
CSS Images Module Level 4 | Working Draft | Adds element() , image() , image-set() and conic-gradient() functional notation. |
© 2005–2020 Mozilla and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Functionals