Довідник CSS
Використовуйте цей Довідник CSS для орієнтування в алфавітному покажчику усіх стандартних властивостей CSS, псевдокласів, псевдоелементів, типів даних, функційних записів і директив. Крім того, можна переглянути ключові концепції CSS та список селекторів, упорядкований за типами. Крім того, включений стислий Довідник DOM-CSS / CSSOM.
Базовий синтаксис правил
Синтаксис стилістичних правил
style-rule ::=
selectors-list {
properties-list
}
Де :
selectors-list ::=
selector[:pseudo-class] [::pseudo-element]
[, selectors-list]
properties-list ::=
[property : value] [; properties-list]
Дивіться покажчик селекторів, псевдокласів і псевдоелементів нижче. Синтаксис кожного заданого значення залежить від типу даних, визначеного для кожної вказаної властивості.
Приклади стилістичних правил
strong {
color: red;
}
div.menu-bar li:hover > ul {
display: block;
}
Знайомство з синтаксисом селекторів початкового рівня – шукайте в нашому посібнику з селекторів CSS. Майте на увазі, що будь-яка синтаксична помилка у визначенні правила робить недійсним усе правило. Недійсні правила ігноруються браузерами. Зверніть увагу на те, що визначення правил CSS цілком засновані на тексті (ASCII), натомість DOM-CSS / CSSOM (система управління правилами) заснована на об'єктах.
Синтаксис директив
Оскільки структура директив широко відрізняється, шукайте синтаксис конкретних директив на сторінці Директива.
Покажчик
[!NOTE] Цей покажчик не включає ексклюзивні для SVG атрибути відображення, котрі можна використовувати як властивості CSS на елементах SVG.
[!NOTE] Імена властивостей у цьому покажчику не містять імен JavaScript, котрі відрізняються від стандартних імен CSS.
-
A
- accent-color
- :active
- additive-symbols (@counter-style)
- ::after (:after)
- align-content
- align-items
- align-self
- align-tracks
- all
- <an-plus-b>
- <angle>
- <angle-percentage>
- animation
- animation-delay
- animation-direction
- animation-duration
- animation-fill-mode
- animation-iteration-count
- animation-name
- animation-play-state
- animation-timing-function
- @annotation
- annotation()
- :any-link
- appearance
- ascent-override (@font-face)
- aspect-ratio
- attr()
B
- ::backdrop
- backdrop-filter
- backface-visibility
- background
- background-attachment
- background-blend-mode
- background-clip
- background-color
- background-image
- background-origin
- background-position
- background-position-x
- background-position-y
- background-repeat
- background-size
- <basic-shape>
- ::before (:before)
- :blank
- bleed (@page)
- <blend-mode>
- block-overflow
- block-size
- blur()
- border
- border-block
- border-block-color
- border-block-end
- border-block-end-color
- border-block-end-style
- border-block-end-width
- border-block-start
- border-block-start-color
- border-block-start-style
- border-block-start-width
- border-block-style
- border-block-width
- border-bottom
- border-bottom-color
- border-bottom-left-radius
- border-bottom-right-radius
- border-bottom-style
- border-bottom-width
- border-collapse
- border-color
- border-end-end-radius
- border-end-start-radius
- border-image
- border-image-outset
- border-image-repeat
- border-image-slice
- border-image-source
- border-image-width
- border-inline
- border-inline-color
- border-inline-end
- border-inline-end-color
- border-inline-end-style
- border-inline-end-width
- border-inline-start
- border-inline-start-color
- border-inline-start-style
- border-inline-start-width
- border-inline-style
- border-inline-width
- border-left
- border-left-color
- border-left-style
- border-left-width
- border-radius
- border-right
- border-right-color
- border-right-style
- border-right-width
- border-spacing
- border-start-end-radius
- border-start-start-radius
- border-style
- border-top
- border-top-color
- border-top-left-radius
- border-top-right-radius
- border-top-style
- border-top-width
- border-width
- bottom
- @bottom-center
- box-decoration-break
- box-shadow
- box-sizing
- break-after
- break-before
- break-inside
- brightness()
C
- calc()
- caption-side
- caret-color
- @character-variant
- character-variant()
- @charset
- :checked
- circle()
- clamp()
- clear
- clip
- clip-path
- <color>
- color
- color-adjust
- color-scheme
- column-count
- column-fill
- column-gap
- column-rule
- column-rule-color
- column-rule-style
- column-rule-width
- column-span
- column-width
- columns
- conic-gradient()
- contain
- content
- content-visibility
- contrast()
- <counter>
- counter-increment
- counter-reset
- counter-set
- @counter-style
- counters()
- cross-fade()
- cubic-bezier()
- ::cue
- ::cue-region
- :current
- cursor
- <custom-ident>
- length#cap
- length#ch
- length#cm
D
- angle#deg
- :default
- :defined
- descent-override (@font-face)
- <dimension>
- :dir
- direction
- :disabled
- display
- <display-box>
- <display-inside>
- <display-internal>
- <display-legacy>
- <display-listitem>
- <display-outside>
- drop-shadow()
- resolution#dpcm
- resolution#dpi
- resolution#dppx
E
F
- fallback (@counter-style)
- filter
- <filter-function>
- :first
- :first-child
- ::first-letter (:first-letter)
- ::first-line (:first-line)
- :first-of-type
- fit-content()
- <flex>
- flex
- flex-basis
- flex-direction
- flex-flow
- flex-grow
- flex-shrink
- flex-wrap
- flex_value#fr
- float
- :focus
- :focus-visible
- :focus-within
- font
- font-display (@font-face)
- @font-face
- font-family
- font-family (@font-face)
- font-feature-settings
- font-feature-settings (@font-face)
- @font-feature-values
- font-kerning
- font-language-override
- font-optical-sizing
- font-size
- font-size-adjust
- font-stretch
- font-stretch (@font-face)
- font-style
- font-style (@font-face)
- font-synthesis
- font-variant
- font-variant (@font-face)
- font-variant-alternates
- font-variant-caps
- font-variant-east-asian
- font-variant-ligatures
- font-variant-numeric
- font-variant-position
- font-variation-settings
- font-variation-settings (@font-face)
- font-weight
- font-weight (@font-face)
- forced-color-adjust
- format()
- <frequency>
- <frequency-percentage>
- :fullscreen
- :future
G
- angle#grad
- gap
- <gradient>
- ::grammar-error
- grayscale()
- grid
- grid-area
- grid-auto-columns
- grid-auto-flow
- grid-auto-rows
- grid-column
- grid-column-end
- grid-column-start
- grid-row
- grid-row-end
- grid-row-start
- grid-template
- grid-template-areas
- grid-template-columns
- grid-template-rows
H
- frequency#Hz
- hanging-punctuation
- :has
- height
- height (@viewport)
- @historical-forms
- :host()
- :host-context()
- :hover
- hsl()
- hsla()
- hue-rotate()
- hwb()
- hyphenate-character
- hyphens
I
- <ident>
- <image>
- image()
- image-orientation
- image-rendering
- image-resolution
- image-set()
- @import
- :in-range
- :indeterminate
- inherit
- inherits (@property)
- initial
- initial-letter
- initial-letter-align
- initial-value (@property)
- inline-size
- input-security
- inset
- inset()
- inset-block
- inset-block-end
- inset-block-start
- inset-inline
- inset-inline-end
- inset-inline-start
- <integer>
- :invalid
- invert()
- :is
- isolation
- length#ic
- length#in
J
K
L
- :lang
- :last-child
- :last-of-type
- @layer
- layer()
- layer() (@import)
- leader()
- :left
- left
- @left-bottom
- <length>
- <length-percentage>
- letter-spacing
- line-break
- line-clamp
- line-gap-override (@font-face)
- line-height
- line-height-step
- linear-gradient()
- :link
- list-style
- list-style-image
- list-style-position
- list-style-type
- local()
- :local-link
M
- length#mm
- margin
- margin-block
- margin-block-end
- margin-block-start
- margin-bottom
- margin-inline
- margin-inline-end
- margin-inline-start
- margin-left
- margin-right
- margin-top
- margin-trim
- ::marker
- marks (@page)
- mask
- mask-border
- mask-border-mode
- mask-border-outset
- mask-border-repeat
- mask-border-slice
- mask-border-source
- mask-border-width
- mask-clip
- mask-composite
- mask-image
- mask-mode
- mask-origin
- mask-position
- mask-repeat
- mask-size
- mask-type
- masonry-auto-flow
- math-style
- matrix()
- matrix3d()
- max()
- max-block-size
- max-height
- max-height (@viewport)
- max-inline-size
- max-lines
- max-width
- max-width (@viewport)
- max-zoom (@viewport)
- @media
- min()
- min-block-size
- min-height
- min-height (@viewport)
- min-inline-size
- min-width
- min-width (@viewport)
- min-zoom (@viewport)
- minmax()
- mix-blend-mode
- time#ms
N
- @namespace
- negative (@counter-style)
- :not
- :nth-child
- :nth-col
- :nth-last-child
- :nth-last-col
- :nth-last-of-type
- :nth-of-type
- <number>
O
- object-fit
- object-position
- offset
- offset-anchor
- offset-distance
- offset-path
- offset-position
- offset-rotate
- :only-child
- :only-of-type
- opacity
- opacity()
- :optional
- order
- orientation (@viewport)
- @ornaments
- ornaments()
- orphans
- :out-of-range
- outline
- outline-color
- outline-offset
- outline-style
- outline-width
- overflow
- overflow-anchor
- overflow-block
- overflow-clip-margin
- overflow-inline
- overflow-wrap
- overflow-x
- overflow-y
- overscroll-behavior
- overscroll-behavior-block
- overscroll-behavior-inline
- overscroll-behavior-x
- overscroll-behavior-y
P
- Pseudo-classes
- Pseudo-elements
- length#pc
- length#pt
- length#px
- pad (@counter-style)
- padding
- padding-block
- padding-block-end
- padding-block-start
- padding-bottom
- padding-inline
- padding-inline-end
- padding-inline-start
- padding-left
- padding-right
- padding-top
- @page
- page-break-after
- page-break-before
- page-break-inside
- paint()
- paint-order
- ::part
- :past
- path()
- :paused
- <percentage>
- perspective
- perspective()
- perspective-origin
- :picture-in-picture
- place-content
- place-items
- place-self
- ::placeholder
- :placeholder-shown
- :playing
- pointer-events
- polygon()
- <position>
- position
- prefix (@counter-style)
- @property
Q
R
- angle#rad
- length#rem
- radial-gradient()
- range (@counter-style)
- <ratio>
- :read-only
- :read-write
- rect()
- repeat()
- repeating-linear-gradient()
- repeating-radial-gradient()
- :required
- resize
- <resolution>
- revert
- rgb()
- rgba()
- :right
- right
- @right-bottom
- :root
- rotate
- rotate()
- rotate3d()
- rotateX()
- rotateY()
- rotateZ()
- row-gap
- ruby-align
- ruby-merge
- ruby-position
S
- saturate()
- scale
- scale()
- scale3d()
- scaleX()
- scaleY()
- scaleZ()
- :scope
- scroll-behavior
- scroll-margin
- scroll-margin-block
- scroll-margin-block-end
- scroll-margin-block-start
- scroll-margin-bottom
- scroll-margin-inline
- scroll-margin-inline-end
- scroll-margin-inline-start
- scroll-margin-left
- scroll-margin-right
- scroll-margin-top
- scroll-padding
- scroll-padding-block
- scroll-padding-block-end
- scroll-padding-block-start
- scroll-padding-bottom
- scroll-padding-inline
- scroll-padding-inline-end
- scroll-padding-inline-start
- scroll-padding-left
- scroll-padding-right
- scroll-padding-top
- scroll-snap-align
- scroll-snap-stop
- scroll-snap-type
- @scroll-timeline
- scrollbar-color
- scrollbar-gutter
- scrollbar-width
- ::selection
- selector()
- sepia()
- <shape>
- shape-image-threshold
- shape-margin
- shape-outside
- size (@page)
- size-adjust (@font-face)
- skew()
- skewX()
- skewY()
- ::slotted
- speak-as (@counter-style)
- ::spelling-error
- src (@font-face)
- steps()
- <string>
- @styleset
- styleset()
- @stylistic
- stylistic()
- suffix (@counter-style)
- @supports
- supports() (@import)
- @swash
- swash()
- symbols (@counter-style)
- symbols()
- syntax (@property)
- system (@counter-style)
- time#s
T
- angle#turn
- tab-size
- table-layout
- :target
- target-counter()
- target-counters()
- ::target-text
- target-text()
- :target-within
- text-align
- text-align-last
- text-combine-upright
- text-decoration
- text-decoration-color
- text-decoration-line
- text-decoration-skip
- text-decoration-skip-ink
- text-decoration-style
- text-decoration-thickness
- text-emphasis
- text-emphasis-color
- text-emphasis-position
- text-emphasis-style
- text-indent
- text-justify
- text-orientation
- text-overflow
- text-rendering
- text-shadow
- text-size-adjust
- text-transform
- text-underline-offset
- text-underline-position
- <time>
- <time-percentage>
- <timing-function>
- top
- @top-center
- touch-action
- transform
- transform-box
- <transform-function>
- transform-origin
- transform-style
- transition
- transition-delay
- transition-duration
- transition-property
- transition-timing-function
- translate
- translate()
- translate3d()
- translateX()
- translateY()
- translateZ()
- type()
U
- unicode-bidi
- unicode-range (@font-face)
- unset
- <url>
- url()
- :user-invalid
- user-select
- :user-valid
- user-zoom (@viewport)
V
- length#vh
- length#vmax
- length#vmin
- length#vw
- :valid
- var()
- vertical-align
- @viewport
- viewport-fit (@viewport)
- visibility
- :visited
W
X
Z
Інші
Селектори
Далі – різні селектори, що дають стилям змогу бути умовними на основі різних можливостей елементів у DOM.
Базові селектори
Базові селектори – фундаментальні селектори; це найбазовіші селектори, котрі часто поєднуються для створення інших, складніших селекторів.
- Загальний селектор
*
- Селектор типу
elementname
- Селектор класу
.classname
- Селектор ідентифікатора
#idname
- Селектор атрибута
[attr=value]
Групування селекторів
- Список селекторів
A, B
Вибираються як елементи
A
, так і елементиB
. Це підхід до групування, що вибирає декілька елементів збігу.
Комбінатори
Комбінатори – селектори, що встановлюють взаємини між двома чи більше простими селекторами, як то "A
є дочірнім щодо B
", чи "A
поруч з B
", утворюючи складний селектор.
- Комбінатор наступної сестри
A + B
Задає, що як елементи, обрані
A
, так і елементи, вибраніB
, мають один батьківський елемент і що елемент, вибранийB
, стоїть безпосередньо після елемента, вибраногоA
, по горизонталі.- Комбінатор пізніших сестер
A ~ B
Задає, що як елементи, обрані
A
, так і елементи, вибраніB
, поділяють один батьківський елемент і що елемент, вибранийA
, стоїть до, але не обов'язково безпосередньо до, елемента, вибраногоB
.- Дочірній комбінатор
A > B
Задає, що елемент, вибраний
B
, є безпосереднім нащадком елемента, вибраногоA
.- Комбінатор нащадків
A B
Задає, що елемент, вибраний
B
, є нащадком елемента, вибраногоA
, але не обов'язково безпосереднім.- Колонковий комбінатор
A || B
Задає, що елемент, вибраний
B
, розташований в колонці таблиці, заданійA
. Елементи, що простягаються на кілька колонок, вважаються членами всіх таких колонок.
Псевдо
- Псевдокласи
:
Задають особливий стан вибраних елементів.
- Псевдоелементи
::
Представляють сутності, що не включені в HTML.
[!CALLOUT]
Дивіться також селектори в специфікації Селекторів і специфікацію псевдоелементів.
Концепції
Синтаксис і семантика
- Синтаксис CSS
- Директиви
- Каскадність
- Коментарі
- Дескриптор
- Успадкування
- Властивості-скорочення
- Специфічність
- Синтаксис визначення значень
- Одиниці вимірювання й типи значень CSS
- Функційні записи CSS
Значення
- Дієве значення
- Обчислене значення
- Початкове значення
- Вирішене значення
- Задане значення
- Застосоване значення
Компонування
- Блоковий контекст форматування
- Рамкова модель
- Контейнерний блок
- Спосіб компонування
- Перекриття зовнішніх відступів
- Заміщені елементи
- Контекст нагромадження
- Модель візуального форматування
DOM-CSS / CSSOM
Головні типи об'єктів
Document.styleSheets
HTMLElement.style
Element.className
Element.classList
StyleSheetList
CSSRuleList
CSSRule
CSSStyleRule
CSSStyleDeclaration
Важливі методи
Дивіться також
- Розширення CSS від Mozilla (з префіксом
-moz-
) - Розширення CSS у WebKit (здебільшого з префіксом
-webkit-
)