CSS reference
Use this CSS reference to browse an alphabetical index of all of the standard CSS properties, pseudo-classes, pseudo-elements, data types, functional notations and at-rules. You can also browse key CSS concepts and a list of selectors organized by type. Also included is a brief DOM-CSS / CSSOM reference.
Basic rule syntax
>Style rule syntax
style-rule ::=
selectors-list {
properties-list
}
Where:
selectors-list ::=
selector[:pseudo-class] [::pseudo-element]
[, selectors-list]
properties-list ::=
[property : value] [; properties-list]
See the index of selectors, pseudo-classes, and pseudo-elements below. The syntax for each specified value depends on the data type defined for each specified property.
Style rule examples
strong {
color: red;
}
div.menu-bar li:hover > ul {
display: block;
}
For a beginner-level introduction to the syntax of selectors, see our guide on CSS Selectors. Be aware that any syntax error in a rule definition invalidates the entire rule. Invalid rules are ignored by the browser. Note that CSS rule definitions are entirely (Unicode) text-based, whereas DOM-CSS / CSSOM (the rule management system) is object-based.
At-rule syntax
As the structure of at-rules varies widely, please see At-rule to find the syntax of the specific one you want.
Index
Note: This index does not include SVG-exclusive presentation attributes, which can be used as CSS properties on SVG elements.
Note: The property names in this index do not include the JavaScript names which do differ from the CSS standard names.
-
A
Attribute selectorsabs()<absolute-size>accent-coloracos():active CSS pseudo-class:active-view-transition CSS pseudo-class:active-view-transition-type() CSS pseudo-classadditive-symbols (@counter-style)::after CSS pseudo-elementalign-contentalign-itemsalign-selfalignment-baselineall<alpha-value>anchor()anchor-nameanchor-scopeanchor-size()<angle><angle-percentage>animationanimation-compositionanimation-delayanimation-directionanimation-durationanimation-fill-modeanimation-iteration-countanimation-nameanimation-play-stateanimation-rangeanimation-range-endanimation-range-startanimation-timelineanimation-timing-function:any-link CSS pseudo-classappearanceascent-override (@font-face)asin()aspect-ratioatan()atan2()attr():autofill CSS pseudo-class<axis>
B
::backdrop CSS pseudo-elementbackdrop-filterbackface-visibilitybackgroundbackground-attachmentbackground-blend-modebackground-clipbackground-colorbackground-imagebackground-originbackground-positionbackground-position-xbackground-position-ybackground-repeatbackground-repeat-xbackground-repeat-ybackground-sizebase-palette (@font-palette-values)<baseline-position>baseline-shiftbaseline-source<basic-shape>::before CSS pseudo-element:blank CSS pseudo-class<blend-mode>block-sizeblur()borderborder-blockborder-block-colorborder-block-endborder-block-end-colorborder-block-end-styleborder-block-end-widthborder-block-startborder-block-start-colorborder-block-start-styleborder-block-start-widthborder-block-styleborder-block-widthborder-bottomborder-bottom-colorborder-bottom-left-radiusborder-bottom-right-radiusborder-bottom-styleborder-bottom-widthborder-collapseborder-colorborder-end-end-radiusborder-end-start-radiusborder-imageborder-image-outsetborder-image-repeatborder-image-sliceborder-image-sourceborder-image-widthborder-inlineborder-inline-colorborder-inline-endborder-inline-end-colorborder-inline-end-styleborder-inline-end-widthborder-inline-startborder-inline-start-colorborder-inline-start-styleborder-inline-start-widthborder-inline-styleborder-inline-widthborder-leftborder-left-colorborder-left-styleborder-left-widthborder-radiusborder-rightborder-right-colorborder-right-styleborder-right-widthborder-spacingborder-start-end-radiusborder-start-start-radiusborder-styleborder-topborder-top-colorborder-top-left-radiusborder-top-right-radiusborder-top-styleborder-top-widthborder-widthbottombox-decoration-break<box-edge>box-shadowbox-sizingbreak-afterbreak-beforebreak-insidebrightness():buffering CSS pseudo-class
C
Class selectorsCustom properties (--*): CSS variablescalc()<calc-keyword>calc-size()<calc-sum>caption-sidecaretcaret-animationcaret-colorcaret-shape@charset:checked CSS pseudo-class::checkmark CSS pseudo-elementcircle()clamp()clearclip-pathclip-rule<color>colorcolor()color-interpolationcolor-interpolation-filters<color-interpolation-method>color-mix()@color-profilecolor-scheme::column CSS pseudo-elementcolumn-countcolumn-fillcolumn-gapcolumn-heightcolumn-rulecolumn-rule-colorcolumn-rule-stylecolumn-rule-widthcolumn-spancolumn-widthcolumn-wrapcolumnsconic-gradient()containcontain-intrinsic-block-sizecontain-intrinsic-heightcontain-intrinsic-inline-sizecontain-intrinsic-sizecontain-intrinsic-width@containercontainercontainer-namecontainer-typecontent<content-distribution><content-position>content-visibilitycontrast()contrast-color()corner-block-end-shapecorner-block-start-shapecorner-bottom-left-shapecorner-bottom-right-shapecorner-bottom-shapecorner-end-end-shapecorner-end-start-shapecorner-inline-end-shapecorner-inline-start-shapecorner-left-shapecorner-right-shapecorner-shape<corner-shape-value>corner-start-end-shapecorner-start-start-shapecorner-top-left-shapecorner-top-right-shapecorner-top-shapecos()counter()counter-incrementcounter-resetcounter-set@counter-stylecounters()cross-fade()cubic-bezier()::cue CSS pseudo-element:current CSS pseudo-classcursor<custom-ident>@custom-mediacxcy
D
d<dashed-function>: CSS custom functions<dashed-ident>:default CSS pseudo-class:defined CSS pseudo-classdescent-override (@font-face)::details-content CSS pseudo-elementdevice-cmyk()<dimension>:dir() CSS pseudo-classdirection:disabled CSS pseudo-classdisplay<display-box><display-inside><display-internal><display-legacy><display-listitem><display-outside>dominant-baselinedrop-shadow()dynamic-range-limitdynamic-range-limit-mix()
E
<easing-function>element()ellipse():empty CSS pseudo-classempty-cells:enabled CSS pseudo-classenv()exp()
F
fallback (@counter-style)field-sizing::file-selector-button CSS pseudo-elementfillfill-opacityfill-rulefilter<filter-function>:first CSS pseudo-class:first-child CSS pseudo-class::first-letter CSS pseudo-element::first-line CSS pseudo-element:first-of-type CSS pseudo-classfit-contentfit-content()<flex>flexflex-basisflex-directionflex-flowflex-growflex-shrinkflex-wrapfloatflood-colorflood-opacity:focus CSS pseudo-class:focus-visible CSS pseudo-class:focus-within CSS pseudo-classfontfont-display (@font-face)font-display (@font-feature-values)@font-facefont-familyfont-family (@font-face)font-family (@font-palette-values)font-feature-settingsfont-feature-settings (@font-face)@font-feature-valuesfont-kerningfont-language-overridefont-optical-sizingfont-palette@font-palette-valuesfont-sizefont-size-adjustfont-stretchfont-stretch (@font-face)font-stylefont-style (@font-face)font-synthesisfont-synthesis-positionfont-synthesis-small-capsfont-synthesis-stylefont-synthesis-weightfont-variantfont-variant-alternatesfont-variant-capsfont-variant-east-asianfont-variant-emojifont-variant-ligaturesfont-variant-numericfont-variant-positionfont-variation-settingsfont-variation-settings (@font-face)font-weightfont-weight (@font-face)font-widthfont-width (@font-face)forced-color-adjust<frequency><frequency-percentage>:fullscreen CSS pseudo-class@function:future CSS pseudo-class
G
gap<generic-family><gradient>::grammar-error CSS pseudo-elementgrayscale()gridgrid-areagrid-auto-columnsgrid-auto-flowgrid-auto-rowsgrid-columngrid-column-endgrid-column-startgrid-rowgrid-row-endgrid-row-startgrid-templategrid-template-areasgrid-template-columnsgrid-template-rows
H
hanging-punctuation:has() CSS pseudo-class:has-slotted CSS pseudo-class:heading CSS pseudo-class:heading() CSS pseudo-classheight<hex-color>::highlight() CSS pseudo-element:host CSS pseudo-class:host() CSS pseudo-class:hover CSS pseudo-classhsl()<hue><hue-interpolation-method>hue-rotate()hwb()hyphenate-characterhyphenate-limit-charshyphenshypot()
I
ID selectors<ident>if()<image>image()image-orientationimage-renderingimage-resolutionimage-set()@import!important:in-range CSS pseudo-class:indeterminate CSS pseudo-classinheritinherits (@property)initialinitial-letterinitial-value (@property)inline-sizeinsetinset()inset-blockinset-block-endinset-block-startinset-inlineinset-inline-endinset-inline-start<integer>interactivityinterest-delayinterest-delay-endinterest-delay-start:interest-source CSS pseudo-class:interest-target CSS pseudo-classinterpolate-size:invalid CSS pseudo-classinvert():is() CSS pseudo-classisolation
J
K
L
lab():lang() CSS pseudo-class:last-child CSS pseudo-class:last-of-type CSS pseudo-class@layerlayer()lch()left:left CSS pseudo-class<length><length-percentage>letter-spacinglight-dark()lighting-colorline-breakline-clampline-gap-override (@font-face)line-heightline-height-step<line-style>linear()linear-gradient():link CSS pseudo-classlist-stylelist-style-imagelist-style-positionlist-style-type:local-link CSS pseudo-classlog()
M
marginmargin-blockmargin-block-endmargin-block-startmargin-bottommargin-inlinemargin-inline-endmargin-inline-startmargin-leftmargin-rightmargin-topmargin-trimmarker::marker CSS pseudo-elementmarker-endmarker-midmarker-startmaskmask-bordermask-border-modemask-border-outsetmask-border-repeatmask-border-slicemask-border-sourcemask-border-widthmask-clipmask-compositemask-imagemask-modemask-originmask-positionmask-repeatmask-sizemask-typemath-depthmath-shiftmath-stylematrix()matrix3d()max()max-block-sizemax-contentmax-heightmax-inline-sizemax-width@mediamin()min-block-sizemin-contentmin-heightmin-inline-sizemin-widthminmax()mix-blend-modemod():modal CSS pseudo-class:muted CSS pseudo-class
N
Namespace separator<named-color>@namespacenegative (@counter-style)& nesting selector:not() CSS pseudo-class:nth-child() CSS pseudo-class:nth-last-child() CSS pseudo-class:nth-last-of-type() CSS pseudo-class:nth-of-type() CSS pseudo-class<number>
O
object-fitobject-positionobject-view-boxoffsetoffset-anchoroffset-distanceoffset-pathoffset-positionoffset-rotateoklab()oklch():only-child CSS pseudo-class:only-of-type CSS pseudo-classopacityopacity():open CSS pseudo-class:optional CSS pseudo-classorderorphans:out-of-range CSS pseudo-classoutlineoutline-coloroutline-offsetoutline-styleoutline-width<overflow>overflowoverflow-anchoroverflow-blockoverflow-clip-marginoverflow-inline<overflow-position>overflow-wrapoverflow-xoverflow-yoverlayoverride-colors (@font-palette-values)overscroll-behavioroverscroll-behavior-blockoverscroll-behavior-inlineoverscroll-behavior-xoverscroll-behavior-y
P
pad (@counter-style)paddingpadding-blockpadding-block-endpadding-block-startpadding-bottompadding-inlinepadding-inline-endpadding-inline-startpadding-leftpadding-rightpadding-top@pagepagepage-orientation (@page)paint()paint-orderpalette-mix()::part() CSS pseudo-element:past CSS pseudo-classpath():paused CSS pseudo-class<percentage>perspectiveperspective()perspective-origin::picker() CSS pseudo-element::picker-icon CSS pseudo-element:picture-in-picture CSS pseudo-classplace-contentplace-itemsplace-self::placeholder CSS pseudo-element:placeholder-shown CSS pseudo-class:playing CSS pseudo-classpointer-eventspolygon():popover-open CSS pseudo-class<position>positionposition-anchor<position-area>position-area@position-tryposition-tryposition-try-fallbacksposition-try-orderposition-visibilitypow()prefix (@counter-style)print-color-adjustprogress()@property
Q
R
rradial-gradient()random()range (@counter-style)<ratio>ray():read-only CSS pseudo-class:read-write CSS pseudo-classreading-flowreading-orderrect()<relative-size>rem()repeat()repeating-conic-gradient()repeating-linear-gradient()repeating-radial-gradient():required CSS pseudo-classresize<resolution>revertrevert-layerrgb()right:right CSS pseudo-class:root CSS pseudo-classrotaterotate()rotate3d()rotateX()rotateY()rotateZ()round()row-gapruby-alignruby-overhangruby-positionrule-listrxry
S
Selector listsaturate()scalescale()scale3d()scaleX()scaleY()scaleZ()@scope:scope CSS pseudo-classscroll()scroll-behavior::scroll-button() CSS pseudo-elementscroll-initial-targetscroll-marginscroll-margin-blockscroll-margin-block-endscroll-margin-block-startscroll-margin-bottomscroll-margin-inlinescroll-margin-inline-endscroll-margin-inline-startscroll-margin-leftscroll-margin-rightscroll-margin-top::scroll-marker CSS pseudo-elementscroll-marker-group::scroll-marker-group CSS pseudo-elementscroll-paddingscroll-padding-blockscroll-padding-block-endscroll-padding-block-startscroll-padding-bottomscroll-padding-inlinescroll-padding-inline-endscroll-padding-inline-startscroll-padding-leftscroll-padding-rightscroll-padding-topscroll-snap-alignscroll-snap-stopscroll-snap-typescroll-target-groupscroll-timelinescroll-timeline-axisscroll-timeline-namescrollbar-colorscrollbar-gutterscrollbar-width::search-text CSS pseudo-element:seeking CSS pseudo-class::selection CSS pseudo-element<self-position>sepia()shape()shape-image-thresholdshape-marginshape-outsideshape-renderingsibling-count()sibling-index()sign()sin()size (@page)size-adjust (@font-face)skew()skewX()skewY()::slotted() CSS pseudo-elementspeak-asspeak-as (@counter-style)::spelling-error CSS pseudo-elementsqrt()src (@font-face):stalled CSS pseudo-class@starting-style:state() CSS pseudo-classsteps()stop-colorstop-opacity<string>strokestroke-dasharraystroke-dashoffsetstroke-linecapstroke-linejoinstroke-miterlimitstroke-opacitystroke-widthsuffix (@counter-style)superellipse()@supportssymbols (@counter-style)symbols()syntax (@property)system (@counter-style)<system-color>
T
Type selectorstab-sizetable-layouttan():target CSS pseudo-class:target-after CSS pseudo-class:target-before CSS pseudo-class:target-current CSS pseudo-class::target-text CSS pseudo-elementtext-aligntext-align-lasttext-anchortext-autospacetext-boxtext-box-edgetext-box-trimtext-combine-uprighttext-decorationtext-decoration-colortext-decoration-insettext-decoration-linetext-decoration-skip-inktext-decoration-styletext-decoration-thickness<text-edge>text-emphasistext-emphasis-colortext-emphasis-positiontext-emphasis-styletext-indenttext-justifytext-orientationtext-overflowtext-renderingtext-shadowtext-size-adjusttext-spacing-trimtext-transformtext-underline-offsettext-underline-positiontext-wraptext-wrap-modetext-wrap-style<time><time-percentage><timeline-range-name>timeline-scopetoptouch-actiontransformtransform-box<transform-function>transform-origintransform-styletransitiontransition-behaviortransition-delaytransition-durationtransition-propertytransition-timing-functiontranslatetranslate()translate3d()translateX()translateY()translateZ()type()
U
Universal selectorsunicode-bidiunicode-range (@font-face)unset<url>url():user-invalid CSS pseudo-classuser-select:user-valid CSS pseudo-class
V
:valid CSS pseudo-classvar()vector-effectvertical-alignview()view-timelineview-timeline-axisview-timeline-insetview-timeline-name@view-transition::view-transition CSS pseudo-elementview-transition-class::view-transition-group() CSS pseudo-element::view-transition-image-pair() CSS pseudo-elementview-transition-name::view-transition-new() CSS pseudo-element::view-transition-old() CSS pseudo-elementvisibility:visited CSS pseudo-class:volume-locked CSS pseudo-class
W
:where() CSS pseudo-classwhite-spacewhite-space-collapsewidowswidthwill-changeword-breakword-spacingwriting-mode
X
Y
Z
Selectors
The following are the various selectors, which allow styles to be conditional based on various features of elements within the DOM.
Basic selectors
Basic selectors are fundamental selectors; these are the most basic selectors that are frequently combined to create other, more complex selectors.
- Universal selector
* - Type selector
elementname - Class selector
.classname - ID selector
#idname - Attribute selector
[attr=value]
Grouping selectors
- Selector list
A, B -
Specifies that both
AandBelements are selected. This is a grouping method to select several matching elements.
Combinators
Combinators are selectors that establish a relationship between two or more simple selectors, such as "A is a child of B" or "A is adjacent to B", creating a complex selector.
- Next-sibling combinator
A + B -
Specifies that the elements selected by both
AandBhave the same parent and that the element selected byBimmediately follows the element selected byAhorizontally. - Subsequent-sibling combinator
A ~ B -
Specifies that the elements selected by both
AandBshare the same parent and that the element selected byAcomes before—but not necessarily immediately before—the element selected byB. - Child combinator
A > B -
Specifies that the element selected by
Bis the direct child of the element selected byA. - Descendant combinator
A B -
Specifies that the element selected by
Bis a descendant of the element selected byA, but is not necessarily a direct child. - Column combinator
A || BExperimental -
Specifies that the element selected by
Bis located within the table column specified byA. Elements which span multiple columns are considered to be a member of all of those columns.
Pseudo
- Pseudo classes
: -
Specifies a special state of the selected element(s).
- Pseudo elements
:: -
Represents entities that are not included in HTML.
See also selectors in the Selectors specification and the pseudo-element specification.
Concepts
>Syntax and semantics
Values
Layout
DOM-CSS / CSSOM
>Major object types
Important methods
See also
- Mozilla CSS extensions (prefixed with
-moz-) - WebKit CSS extensions (mostly prefixed with
-webkit-)