CSS 참고서
CSS 참고서를 이용해 알파벳 순서로 정리한 모든 표준 CSS 속성, 의사 클래스, 의사 요소, CSS 자료형과 @규칙을 찾아보세요. 또한 유형별로 정리한 CSS 선택자와 주요 CSS 개념도 찾아볼 수 있습니다. 추가로 간단한 DOM-CSS / CSSOM 참조도 들어 있습니다.
기본 규칙 구문
>스타일 규칙 구문
style-rule ::=
    selectors-list {
      properties-list
    }
... where :
selectors-list ::=
    selector[:pseudo-class] [::pseudo-element]
    [, selectors-list]
properties-list ::=
    [property : value] [; properties-list]
아래 선택자, 의사 클래스, 의사 요소 목록을 참고하세요. 각 *value*의 구문은 지정한 *property*가 정의하는 자료형에 따라 다릅니다.
스타일 규칙 예제
strong {
  color: red;
}
div.menu-bar li:hover > ul {
  display: block;
}
CSS 선택자 구문을 설명하는 입문자 단계의 소개 부분은 이 자습서에서 찾아볼 수 있습니다. 규칙 정의에서 구문 오류가 하나라도 발생하면 규칙 전체가 유효하지 않다는 점을 명심하세요. 유효하지 않은 규칙은 브라우저가 무시합니다. CSS 규칙 정의는 모두 (ASCII) 텍스트에 기반하지만, DOM-CSS / CSSOM (규칙 관리 시스템)은 객체에 기반합니다.
@규칙 구문
@규칙 체계는 매우 다양하므로 필요한 구체적인 구문을 찾으려면 @규칙을 봐주세요.
키워드 색인
참고 : 이 색인에 있는 속성 이름에는 CSS 표준 이름과 다른 JavaScript 이름이 들어가지 않습니다.
-
- --*
- -webkit-line-clamp
- -webkit-text-fill-color
- -webkit-text-stroke
- -webkit-text-stroke-color
- -webkit-text-stroke-width
A
- abs()
- accent-color
- acos()
- :active
- :active-view-transition
- :active-view-transition-type()
- additive-symbols (@counter-style)
- ::after (:after)
- align-content
- align-items
- align-self
- alignment-baseline
- all
- anchor()
- anchor-name
- anchor-scope
- anchor-size()
- <angle>
- <angle-percentage>
- animation
- animation-composition
- animation-delay
- animation-direction
- animation-duration
- animation-fill-mode
- animation-iteration-count
- animation-name
- animation-play-state
- animation-range
- animation-range-end
- animation-range-start
- animation-timeline
- animation-timing-function
- @annotation
- :any-link
- appearance
- ascent-override (@font-face)
- asin()
- aspect-ratio
- atan()
- atan2()
- attr()
- :autofill
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
- base-palette (@font-palette-values)
- baseline-shift
- <basic-shape>
- ::before (:before)
- :blank
- bleed (@page)
- <blend-mode>
- 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-left-corner
- box-decoration-break
- box-shadow
- box-sizing
- break-after
- break-before
- break-inside
- brightness()
- :buffering
C
- calc()
- calc-size()
- cap
- caption-side
- caret
- caret-color
- caret-shape
- ch
- @character-variant
- @charset
- :checked
- ::checkmark
- circle()
- clamp()
- clear
- clip-path
- clip-rule
- cm
- <color>
- color
- color-interpolation-filters
- color-mix()
- 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
- contain-intrinsic-block-size
- contain-intrinsic-height
- contain-intrinsic-inline-size
- contain-intrinsic-size
- contain-intrinsic-width
- @container
- container
- container-name
- container-type
- content
- content-visibility
- contrast()
- cos()
- <counter>
- counter-increment
- counter-reset
- counter-set
- @counter-style
- counters()
- cross-fade()
- cubic-bezier()
- ::cue
- ::cue()
- ::cue-region
- ::cue-region()
- :current
- cursor
- <custom-ident>
- cx
- cy
D
- d
- <dashed-ident>
- :default
- :defined
- deg
- descent-override (@font-face)
- ::details-content
- <dimension>
- :dir()
- direction
- :disabled
- display
- <display-box>
- <display-inside>
- <display-internal>
- <display-legacy>
- <display-listitem>
- <display-outside>
- dominant-baseline
- dpcm
- dpi
- dppx
- drop-shadow()
E
F
- fallback (@counter-style)
- field-sizing
- ::file-selector-button
- fill
- fill-opacity
- fill-rule
- 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
- float
- flood-color
- flood-opacity
- :focus
- :focus-visible
- :focus-within
- font
- font-display (@font-face)
- @font-face
- font-family
- font-family (@font-face)
- font-family (@font-palette-values)
- font-feature-settings
- font-feature-settings (@font-face)
- @font-feature-values
- font-kerning
- font-language-override
- font-optical-sizing
- font-palette
- @font-palette-values
- font-size
- font-size-adjust
- font-style
- font-style (@font-face)
- font-synthesis
- font-synthesis-position
- font-synthesis-small-caps
- font-synthesis-style
- font-synthesis-weight
- font-variant
- font-variant-alternates
- font-variant-caps
- font-variant-east-asian
- font-variant-emoji
- font-variant-ligatures
- font-variant-numeric
- font-variant-position
- font-variation-settings
- font-variation-settings (@font-face)
- font-weight
- font-weight (@font-face)
- font-width
- forced-color-adjust
- format()
- fr
- <frequency>
- <frequency-percentage>
- :fullscreen
- :future
G
- gap
- grad
- <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
- Hz
- hanging-punctuation
- :has()
- :has-slotted
- height
- ::highlight()
- @historical-forms
- :host
- :host()
- :host-context()
- :hover
- hsl()
- hue-rotate()
- hwb()
- hyphenate-character
- hyphenate-limit-chars
- hyphens
- hypot()
I
- ic
- <ident>
- <image>
- image()
- image-orientation
- image-rendering
- image-resolution
- image-set()
- @import
- in
- :in-range
- :indeterminate
- inherit
- inherits (@property)
- initial
- initial-letter
- initial-letter-align
- initial-value (@property)
- inline-size
- inset
- inset()
- inset-block
- inset-block-end
- inset-block-start
- inset-inline
- inset-inline-end
- inset-inline-start
- <integer>
- interpolate-size
- :invalid
- invert()
- :is()
- isolation
J
K
L
- lab()
- :lang()
- :last-child
- :last-of-type
- @layer
- layer()
- layer() (@import)
- lch()
- leader()
- :left
- left
- @left-top
- <length>
- <length-percentage>
- letter-spacing
- light-dark()
- lighting-color
- line-break
- line-clamp
- line-gap-override (@font-face)
- line-height
- line-height-step
- <line-style>
- linear()
- linear-gradient()
- :link
- list-style
- list-style-image
- list-style-position
- list-style-type
- local()
- :local-link
- log()
M
- 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
- marker
- marker-end
- marker-mid
- marker-start
- 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
- math-depth
- math-shift
- math-style
- matrix()
- matrix3d()
- max()
- max-block-size
- max-height
- max-inline-size
- max-lines
- max-width
- @media
- min()
- min-block-size
- min-height
- min-inline-size
- min-width
- minmax()
- mix-blend-mode
- mm
- mod()
- :modal
- ms
- :muted
N
- @namespace
- navigation (@view-transition)
- negative (@counter-style)
- :not()
- :nth-child()
- :nth-last-child()
- :nth-last-of-type()
- :nth-of-type()
- <number>
O
- object-fit
- object-position
- object-view-box
- offset
- offset-anchor
- offset-distance
- offset-path
- offset-position
- offset-rotate
- oklab()
- oklch()
- :only-child
- :only-of-type
- opacity
- opacity()
- :open
- :optional
- order
- @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
- overlay
- override-colors (@font-palette-values)
- overscroll-behavior
- overscroll-behavior-block
- overscroll-behavior-inline
- overscroll-behavior-x
- overscroll-behavior-y
P
- Pseudo-classes
- Pseudo-elements
- 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
- page-orientation (@page)
- paint()
- paint-order
- palette-mix()
- ::part()
- :past
- path()
- :paused
- pc
- <percentage>
- perspective
- perspective()
- perspective-origin
- ::picker()
- ::picker-icon
- :picture-in-picture
- place-content
- place-items
- place-self
- ::placeholder
- :placeholder-shown
- :playing
- pointer-events
- polygon()
- :popover-open
- <position>
- position
- position-anchor
- position-area
- @position-try
- position-try
- position-try-fallbacks
- position-try-order
- position-visibility
- pow()
- prefix (@counter-style)
- print-color-adjust
- @property
- pt
- px
Q
R
- r
- rad
- radial-gradient()
- range (@counter-style)
- <ratio>
- ray()
- :read-only
- :read-write
- rect()
- rem()
- repeat()
- repeating-conic-gradient()
- repeating-linear-gradient()
- repeating-radial-gradient()
- :required
- resize
- <resolution>
- reversed()
- revert
- rgb()
- :right
- right
- @right-top
- :root
- rotate
- rotate()
- rotate3d()
- rotateX()
- rotateY()
- rotateZ()
- round()
- row-gap
- ruby-align
- ruby-merge
- ruby-overhang
- ruby-position
- rx
- ry
S
- s
- saturate()
- scale
- scale()
- scale3d()
- scaleX()
- scaleY()
- scaleZ()
- :scope
- @scope
- scroll()
- scroll-behavior
- scroll-initial-target
- 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-marker
- ::scroll-marker-group
- 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-state()
- scroll-timeline
- scroll-timeline-axis
- scroll-timeline-name
- scrollbar-color
- scrollbar-gutter
- scrollbar-width
- :seeking
- ::selection
- selector()
- sepia()
- shape-image-threshold
- shape-margin
- shape-outside
- shape-rendering
- sign()
- sin()
- size (@page)
- size-adjust (@font-face)
- skew()
- skewX()
- skewY()
- ::slotted()
- speak-as
- speak-as (@counter-style)
- ::spelling-error
- sqrt()
- src (@font-face)
- :stalled
- @starting-style
- :state()
- steps()
- stop-color
- stop-opacity
- <string>
- stroke
- stroke-color
- stroke-dasharray
- stroke-dashoffset
- stroke-linecap
- stroke-linejoin
- stroke-miterlimit
- stroke-opacity
- stroke-width
- style()
- @styleset
- @stylistic
- suffix (@counter-style)
- @supports
- supports() (@import)
- @swash
- symbols (@counter-style)
- symbols()
- syntax (@property)
- system (@counter-style)
T
- tab-size
- table-layout
- tan()
- :target
- target-counter()
- target-counters()
- :target-current
- ::target-text
- target-text()
- :target-within
- text-align
- text-align-last
- text-anchor
- text-box
- text-box-edge
- text-box-trim
- 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-edge>
- 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-spacing-trim
- text-transform
- text-underline-offset
- text-underline-position
- text-wrap
- text-wrap-mode
- text-wrap-style
- <time>
- <time-percentage>
- timeline-scope
- top
- @top-left-corner
- touch-action
- transform
- transform-box
- <transform-function>
- transform-origin
- transform-style
- transition
- transition-behavior
- transition-delay
- transition-duration
- transition-property
- transition-timing-function
- translate
- translate()
- translate3d()
- translateX()
- translateY()
- translateZ()
- turn
- type()
- types (@view-transition)
U
V
- :valid
- var()
- vector-effect
- vertical-align
- vh
- view()
- view-timeline
- view-timeline-axis
- view-timeline-inset
- view-timeline-name
- ::view-transition
- @view-transition
- view-transition-class
- ::view-transition-group()
- ::view-transition-image-pair()
- view-transition-name
- ::view-transition-new()
- ::view-transition-old()
- visibility
- :visited
- vmax
- vmin
- :volume-locked
- vw
W
- :where()
- white-space
- white-space-collapse
- widows
- width
- will-change
- word-break
- word-spacing
- word-wrap
- writing-mode
X
Y
Z
선택자
다음은 선택자 목록입니다. 선택자를 사용하면 DOM 요소의 다양한 기능에 기반한 조건을 통해 스타일을 입힐 수 있습니다.
기본 선택자
기본 선택자는 선택자의 기초를 이루며, 조합을 통해 더 복잡한 선택자를 생성합니다.
그룹 선택자
- 선택자 목록 A, B
- 
A와 B 요소를 모두 선택합니다. 일치하는 여러가지 요소를 선택할 때 사용합니다. 
결합자
결합자는 "*A*는 *B의 자식", "A*는 *B*와 인접 요소"처럼, 두 개 이상의 선택자끼리 관계를 형성합니다.
- 인접 형제 결합자 A + B
- 
요소 * A*와 *B*가 같은 부모를 가지며 *B*가 *A*를 바로 뒤따라야 하도록 지정합니다.
- 일반 형제 결합자 A ~ B
- 
요소 * A*와 *B*가 같은 부모를 가지며 *B*가 *A*를 뒤따라야 하도록 지정합니다. 그러나 *B*가 *A*의 바로 옆에 위치해야 할 필요는 없습니다.
- 자식 결합자 A > B
- 
요소 * B*가 *A*의 바로 밑에 위치해야 하도록 지정합니다.
- 자손 결합자 A B
- 
요소 * B*가 *A*의 밑에 위치해야 하도록 지정합니다. 그러나 *B*가 *A*의 바로 아래에 있을 필요는 없습니다.
- 열 결합자 A || BExperimental
- 
요소 * B*가 표의 열A안에 위치해야 하도록 지정합니다. 여러 열에 걸친 요소는, 각각의 열 모두에 대해 안쪽에 위치한 것으로 간주합니다.
의사 클래스/요소
참고 : 같이 보기: Selectors Level 4 명세의 선택자 목록.
개념
>구문과 의미
값
레이아웃
DOM-CSS / CSSOM
>주요 객체 유형
- DocumentOrShadowRoot.styleSheets
- styleSheets[i].cssRules
- cssRules[i].cssText(selector & style)
- cssRules[i].selectorText
- HTMLElement.style
- HTMLElement.style.cssText(just style)
- Element.className
- Element.classList
중요 메서드
같이 보기
- Mozilla CSS 확장 (-moz-접두사 사용)
- WebKit CSS 확장 (대다수 -webkit-접두사 사용)
- Microsoft CSS 확장 (-ms-접두사 사용)