Animatable and not animatable CSS properties
This page contains lists of animatable and not animatable CSS properties. There was a list like this on MDN but it was removed (see discussion here), so I decided to make one) I'd like to thank @yarusome and @Josh-Cena for replying and providing a link to the W3C api.
This page is not affiliated with W3C or MDN. However it uses W3C open API to get all the data from specifications.
Some values may differ between W3C api and any other sources (including MDN and specs themselves). There are also multiple Levels of same specs where same properties also may differ. Always check different sources and test it yourself!
The point of this page is to be fully automated without need for manual edits. It updates once a day. If you don't see any properties (this means build failed) or if you found any other problem please create an issue on github.
Syntax, how to use:
Spec Title - name of W3C spec where property belongs
css-property-name - anchor link to the part of spec about this property.
Animation type - you can read about types on MDN
Contents
Animatable CSS properties
This is a list of properties that can have actual gradual transition from one state to another.
If it says "see §" as animation type value just click on property link. You will find an anchor link to the specific part of spec there.
If it says "see individual properties" you can find them close to the shorthand or once again in specs following property link. Some of those could actually be not fully animatable.
CSS Box Alignment Module Level 3
- row-gap
Animation type: by computed value type
- column-gap
Animation type: by computed value type
- gap
Animation type: by computed value type
CSS Generated Content Module Level 3
- bookmark-level
Animation type: by computed value type
CSS Mobile Text Size Adjustment Module Level 1
- text-size-adjust
Animation type: by computed value
CSS Multi-column Layout Module Level 2
- column-width
Animation type: by computed value type
- column-count
Animation type: by computed value
- columns
Animation type: see individual properties
- column-rule-color
Animation type: by computed value type
- column-rule-width
Animation type: by computed value type
- column-rule
Animation type: see individual properties
CSS Backgrounds Module Level 4
- background-position
Animation type: repeatable list
- background-position-x
Animation type: repeatable list
- background-position-y
Animation type: repeatable list
- background-position-inline
Animation type: repeatable list
- background-position-block
Animation type: repeatable list
- background-clip
Animation type: repeatable list
- background-tbd
Animation type: see individual properties
CSS Images Module Level 5
- object-view-box
Animation type: as if possible otherwise discrete
Compatibility Standard
- -webkit-text-fill-color
Animation type: by computed value type
- -webkit-text-stroke-color
Animation type: by computed value type
- -webkit-text-stroke
Animation type: See individual properties
CSS Display Module Level 4
CSS Color Module Level 4
CSS Fonts Module Level 5
- font-size-adjust
Animation type: discrete if the keywords differ otherwise by computed value type
CSS Anchor Positioning
- position-area
Animation type: TBD
- position-try
Animation type: see individual properties
Filter Effects Module Level 2
- backdrop-filter
Animation type: see prose in Filter Effects 1 § 14. Animation of Filters.
CSS Borders and Box Decorations Module Level 4
- border-top-color
Animation type: see prose
- border-right-color
Animation type: see prose
- border-bottom-color
Animation type: see prose
- border-left-color
Animation type: see prose
- border-block-start-color
Animation type: see prose
- border-block-end-color
Animation type: see prose
- border-inline-start-color
Animation type: see prose
- border-inline-end-color
Animation type: see prose
- border-color
Animation type: see individual properties
- border-block-color
Animation type: see individual properties
- border-inline-color
Animation type: see individual properties
- border-block-style
Animation type: see individual properties
- border-inline-style
Animation type: see individual properties
- border-top-width
Animation type: by computed value
- border-right-width
Animation type: by computed value
- border-bottom-width
Animation type: by computed value
- border-left-width
Animation type: by computed value
- border-block-start-width
Animation type: by computed value
- border-block-end-width
Animation type: by computed value
- border-inline-start-width
Animation type: by computed value
- border-inline-end-width
Animation type: by computed value
- border-block-width
Animation type: see individual properties
- border-inline-width
Animation type: see individual properties
- border-top
Animation type: see individual properties
- border-right
Animation type: see individual properties
- border-bottom
Animation type: see individual properties
- border-left
Animation type: see individual properties
- border-block-start
Animation type: see individual properties
- border-block-end
Animation type: see individual properties
- border-inline-start
Animation type: see individual properties
- border-inline-end
Animation type: see individual properties
- border-block
Animation type: see individual properties
- border-inline
Animation type: see individual properties
- border-top-left-radius
Animation type: by computed value
- border-top-right-radius
Animation type: by computed value
- border-bottom-right-radius
Animation type: by computed value
- border-bottom-left-radius
Animation type: by computed value
- border-start-start-radius
Animation type: by computed value
- border-start-end-radius
Animation type: by computed value
- border-end-start-radius
Animation type: by computed value
- border-end-end-radius
Animation type: by computed value
- border-top-radius
Animation type: see individual properties
- border-right-radius
Animation type: see individual properties
- border-bottom-radius
Animation type: see individual properties
- border-left-radius
Animation type: see individual properties
- border-block-start-radius
Animation type: see individual properties
- border-block-end-radius
Animation type: see individual properties
- border-inline-start-radius
Animation type: see individual properties
- border-inline-end-radius
Animation type: see individual properties
- border-radius
Animation type: see individual properties
- corners
Animation type: see individual properties
- border-clip
Animation type: by computed value
- border-clip-top
Animation type: by computed value
- border-clip-right
Animation type: by computed value
- border-clip-bottom
Animation type: by computed value
- border-clip-left
Animation type: by computed value
- box-shadow-color
Animation type: by computed value
- box-shadow-offset
Animation type: by computed value treating none as 0 0 when interpolated with non-none values.
- box-shadow-blur
Animation type: by computed value
- box-shadow-spread
Animation type: by computed value
- box-shadow-position
Animation type: by computed value
- box-shadow
Animation type: see individual properties
CSS Lists and Counters Module Level 3
- list-style
Animation type: see individual properties
- counter-reset
Animation type: by computed value type
- counter-increment
Animation type: by computed value type
- counter-set
Animation type: by computed value type
CSS Grid Layout Module Level 3
- grid-template-columns
Animation type: see CSS Grid Level 2
- grid-template-rows
Animation type: see CSS Grid Level 2
- masonry-flow
Animation type: see individual properties
- masonry
Animation type: see individual properties
- masonry-template-tracks
Animation type: if list lengths match by computed value type; otherwise discrete
- masonry-auto-tracks
Animation type: if the list lengths match by computed value type per item; discrete otherwise
- masonry-slack
Animation type: as length
CSS Fragmentation Module Level 4
CSS Backgrounds and Borders Module Level 3
- background-color
Animation type: by computed value
- background-position
Animation type: repeatable list
- background-clip
Animation type: repeatable list
- background-origin
Animation type: repeatable list
- background-size
Animation type: repeatable list
- background
Animation type: see individual properties
- border-style
Animation type: see individual properties
- border-width
Animation type: see individual properties
- border
Animation type: see individual properties
- border-image-slice
Animation type: by computed value
- border-image-width
Animation type: by computed value
- border-image-outset
Animation type: by computed value
- border-image
Animation type: See individual properties
CSS Gap Decorations Module Level 1
- gap-rule-break
Animation type: see individual properties
- column-rule-outset
Animation type: by computed value type
- row-rule-outset
Animation type: by computed value type
- gap-rule-outset
Animation type: see individual properties
- column-rule-color
Animation type: by computed value type
- row-rule-color
Animation type: by computed value type
- column-rule-width
Animation type: by computed value type
- row-rule-width
Animation type: by computed value type
- column-rule
Animation type: see individual properties
- row-rule
Animation type: see individual properties
- gap-rule-color
Animation type: see individual properties
- gap-rule-style
Animation type: see individual properties
- gap-rule-width
Animation type: see individual properties
- gap-rule
Animation type: see individual properties
CSS Fonts Module Level 4
- font-weight
Animation type: by computed value type
- font-width
Animation type: by computed value type
- font-style
Animation type: by computed value type;normal animates as oblique 0deg
- font-size
Animation type: by computed value type
- font-size-adjust
Animation type: by computed value type
- font
Animation type: see individual properties
- font-variation-settings
Animation type: see prose
- font-palette
Animation type: by computed value
CSS Images Module Level 3
- object-position
Animation type: as for background-position
CSS Flexible Box Layout Module Level 1
- flex-flow
Animation type: see individual properties
- flex
Animation type: by computed value type
- flex-grow
Animation type: by computed value type
- flex-shrink
Animation type: number
- flex-basis
Animation type: by computed value type
CSS Color HDR Module Level 1
- dynamic-range-limit
Animation type: by dynamic-range-limit-mix()
CSS Conditional Rules Module Level 5
- container
Animation type: see individual properties
CSS Containment Module Level 2
- content-visibility
Animation type: see § 4.1 Animating and Interpolating content-visibility
CSS Grid Layout Module Level 2
- grid-template-columns
Animation type: if the list lengths match by computed value type per item in the computed track list (see § 7.2.5 Computed Value of a Track Listing and § 7.2.3.3 Interpolation/Combination of repeat()); discrete otherwise
- grid-template-rows
Animation type: if the list lengths match by computed value type per item in the computed track list (see § 7.2.5 Computed Value of a Track Listing and § 7.2.3.3 Interpolation/Combination of repeat()); discrete otherwise
- grid-template
Animation type: see individual properties
- grid-auto-columns
Animation type: if the list lengths match by computed value type per item; discrete otherwise
- grid-auto-rows
Animation type: if the list lengths match by computed value type per item; discrete otherwise
- grid
Animation type: see individual properties
CSS Positioned Layout Module Level 4
- overlay
Animation type: see prose
CSS Scrollbars Styling Module Level 1
- scrollbar-color
Animation type: by computed value
CSS Scroll Snap Module Level 2
- scroll-initial-target
Animation type: none
CSS Masking Module Level 1
- clip-path
Animation type: by computed value
- mask-position
Animation type: repeatable list
- mask-size
Animation type: repeatable list
- mask
Animation type: see individual properties
- mask-border
Animation type: See individual properties
- clip
Animation type: by computed value
CSS Overflow Module Level 4
- overflow-clip-margin-top
Animation type: per computed value if the visual-box values match; otherwise discrete
- overflow-clip-margin-right
Animation type: per computed value if the visual-box values match; otherwise discrete
- overflow-clip-margin-bottom
Animation type: per computed value if the visual-box values match; otherwise discrete
- overflow-clip-margin-left
Animation type: per computed value if the visual-box values match; otherwise discrete
- overflow-clip-margin-block-start
Animation type: per computed value if the visual-box values match; otherwise discrete
- overflow-clip-margin-inline-start
Animation type: per computed value if the visual-box values match; otherwise discrete
- overflow-clip-margin-block-end
Animation type: per computed value if the visual-box values match; otherwise discrete
- overflow-clip-margin-inline-end
Animation type: per computed value if the visual-box values match; otherwise discrete
- overflow-clip-margin
Animation type: see individual properties
- overflow-clip-margin-inline
Animation type: see individual properties
- overflow-clip-margin-block
Animation type: see individual properties
- text-overflow
Animation type: by computed value type
- line-clamp
Animation type: see individual properties
- -webkit-line-clamp
Animation type: see individual properties
- max-lines
Animation type: by computed value type
CSS Table Module Level 3
- border-spacing
Animation type: by computed value
CSS Rhythmic Sizing
- block-step-size
Animation type: by computed value type
- block-step
Animation type: see individual properties
- line-height-step
Animation type: by computed value type
Motion Path Module Level 1
- offset-path
Animation type: by computed value
- offset-distance
Animation type: by computed value
- offset-position
Animation type: by computed value
- offset-anchor
Animation type: by computed value
- offset-rotate
Animation type: by computed value
- offset
Animation type: see individual properties
CSS Box Sizing Module Level 3
- width
Animation type: by computed value type recursing into fit-content()
- height
Animation type: by computed value type recursing into fit-content()
- min-width
Animation type: by computed value recursing into fit-content()
- min-height
Animation type: by computed value recursing into fit-content()
- max-width
Animation type: by computed value recursing into fit-content()
- max-height
Animation type: by computed value recursing into fit-content()
- column-width
Animation type: by computed value type
CSS Ruby Annotation Layout Module Level 1
- ruby-merge
Animation type: by computed value type
- ruby-align
Animation type: by computed value type
- ruby-overhang
Animation type: by computed value type
CSS Scroll Snap Module Level 1
- scroll-padding
Animation type: by computed value type
- scroll-margin
Animation type: by computed value type
- scroll-padding-top
Animation type: by computed value type
- scroll-padding-right
Animation type: by computed value type
- scroll-padding-bottom
Animation type: by computed value type
- scroll-padding-left
Animation type: by computed value type
- scroll-padding-inline-start
Animation type: by computed value type
- scroll-padding-block-start
Animation type: by computed value type
- scroll-padding-inline-end
Animation type: by computed value type
- scroll-padding-block-end
Animation type: by computed value type
- scroll-padding-block
Animation type: by computed value
- scroll-padding-inline
Animation type: by computed value
- scroll-margin-top
Animation type: by computed value type
- scroll-margin-right
Animation type: by computed value type
- scroll-margin-bottom
Animation type: by computed value type
- scroll-margin-left
Animation type: by computed value type
- scroll-margin-block-start
Animation type: by computed value type
- scroll-margin-inline-start
Animation type: by computed value type
- scroll-margin-block-end
Animation type: by computed value type
- scroll-margin-inline-end
Animation type: by computed value type
- scroll-margin-block
Animation type: by computed value type
- scroll-margin-inline
Animation type: by computed value type
CSS Fill and Stroke Module Level 3
- fill-color
Animation type: by computed value
- fill-image
Animation type: repeatable list
- fill-position
Animation type: repeatable list
- fill-size
Animation type: repeatable list
- fill-opacity
Animation type: by computed value
- stroke-width
Animation type: by computed value
- stroke-dasharray
Animation type: repeatable list
- stroke-dashoffset
Animation type: repeatable list
- stroke-dash-corner
Animation type: by computed value if length otherwise discrete
- stroke-color
Animation type: by computed value
- stroke-image
Animation type: repeatable list
- stroke-position
Animation type: repeatable list
- stroke-size
Animation type: repeatable list
- stroke-opacity
Animation type: by computed value
CSS Basic User Interface Module Level 4
- outline
Animation type: see individual properties
- outline-width
Animation type: by computed value
- outline-style
Animation type: by computed value
- outline-color
Animation type: by computed value
- outline-offset
Animation type: by computed value
- caret-color
Animation type: by computed value
- caret-shape
Animation type: by computed value
- caret
Animation type: see individual properties
- accent-color
Animation type: by computed value type
- input-security
Animation type: by computed value type
CSS Overflow Module Level 3
- overflow-clip-margin
Animation type: per computed value if the visual-box values match; otherwise discrete
Filter Effects Module Level 1
- filter
Animation type: See prose in Animation of Filters.
- flood-color
Animation type: by computed value
- flood-opacity
Animation type: by computed value
- lighting-color
Animation type: by computed value
Scalable Vector Graphics (SVG) 2
- cx
Animation type: by computed value
- cy
Animation type: by computed value
- r
Animation type: by computed value
- rx
Animation type: by computed value
- x
Animation type: by computed value
- y
Animation type: by computed value
- d
Animation type: See prose
- shape-subtract
Animation type: See Interpolation of Basic Shapes
- fill
Animation type: by computed value
- stroke
Animation type: by computed value
CSS Transforms Module Level 2
- translate
Animation type: by computed value but see below for none
- rotate
Animation type: as SLERP but see below for none
- scale
Animation type: by computed value but see below for none
- perspective
Animation type: by computed value
- perspective-origin
Animation type: by computed value
CSS Box Sizing Module Level 4
- aspect-ratio
Animation type: by computed value
- contain-intrinsic-width
Animation type: by computed value type
- contain-intrinsic-height
Animation type: by computed value type
- contain-intrinsic-block-size
Animation type: by computed value type
- contain-intrinsic-inline-size
Animation type: by computed value type
- contain-intrinsic-size
Animation type: see individual properties
CSS Text Decoration Module Level 3
- text-decoration-color
Animation type: by computed value type
- text-decoration
Animation type: see individual properties
- text-emphasis-color
Animation type: by computed value type
- text-emphasis
Animation type: see individual properties
- text-shadow
Animation type: as shadow list
CSS Writing Modes Level 4
- glyph-orientation-vertical
Animation type: n/a
CSS Cascading and Inheritance Level 5
- all
Animation type: see individual properties
CSS Text Module Level 3
- tab-size
Animation type: by computed value type
- word-spacing
Animation type: by computed value type
- letter-spacing
Animation type: by computed value type
- text-indent
Animation type: by computed value type
CSS Color Adjustment Module Level 1
- color-adjust
Animation type: see individual properties
CSS Positioned Layout Module Level 3
- top
Animation type: by computed value type
- right
Animation type: by computed value type
- bottom
Animation type: by computed value type
- left
Animation type: by computed value type
- inset-block-start
Animation type: by computed value type
- inset-inline-start
Animation type: by computed value type
- inset-block-end
Animation type: by computed value type
- inset-inline-end
Animation type: by computed value type
- inset-block
Animation type: by computed value type
- inset-inline
Animation type: by computed value type
- inset
Animation type: by computed value type
CSS Multi-column Layout Module Level 1
- column-width
Animation type: by computed value type
- column-count
Animation type: by computed value
- columns
Animation type: see individual properties
CSS Box Model Module Level 4
- margin-top
Animation type: by computed value type
- margin-right
Animation type: by computed value type
- margin-bottom
Animation type: by computed value type
- margin-left
Animation type: by computed value type
- margin
Animation type: by computed value type
- padding-top
Animation type: by computed value type
- padding-right
Animation type: by computed value type
- padding-bottom
Animation type: by computed value type
- padding-left
Animation type: by computed value type
- padding
Animation type: by computed value type
CSS Logical Properties and Values Level 1
- block-size
Animation type: by computed value type
- inline-size
Animation type: by computed value type
- min-block-size
Animation type: by computed value type
- min-inline-size
Animation type: by computed value type
- max-block-size
Animation type: by computed value type
- max-inline-size
Animation type: by computed value type
- margin-block-start
Animation type: by computed value type
- margin-block-end
Animation type: by computed value type
- margin-inline-start
Animation type: by computed value type
- margin-inline-end
Animation type: by computed value type
- margin-block
Animation type: see individual properties
- margin-inline
Animation type: see individual properties
- padding-block-start
Animation type: by computed value type
- padding-block-end
Animation type: by computed value type
- padding-inline-start
Animation type: by computed value type
- padding-inline-end
Animation type: by computed value type
- padding-block
Animation type: see individual properties
- padding-inline
Animation type: see individual properties
CSS Shapes Module Level 2
- shape-inside
Animation type: as defined for basic-shape otherwise discrete
- shape-padding
Animation type: by computed value
CSS Shapes Module Level 1
- shape-outside
Animation type: as defined for basic-shape otherwise discrete
- shape-image-threshold
Animation type: by computed value
- shape-margin
Animation type: by computed value
CSS Inline Layout Module Level 3
- vertical-align
Animation type: see individual properties
- baseline-shift
Animation type: by computed value type
- line-height
Animation type: by computed value type
- initial-letter
Animation type: by computed value type
- initial-letter-wrap
Animation type: by computed value type
CSS Page Floats
- float
Animation type: by computed value type
- float-offset
Animation type: by computed value type
Scroll-driven Animations
- view-timeline-inset
Animation type: by computed value type
- view-timeline
Animation type: see individual properties
- animation-range
Animation type: see individual properties
CSS Transforms Module Level 1
- transform
Animation type: transform list see interpolation rules
- transform-origin
Animation type: by computed value
CSS Text Module Level 4
- tab-size
Animation type: by computed value type
- text-wrap
Animation type: see individual properties
- hyphenate-limit-zone
Animation type: by computed value type
- hyphenate-limit-chars
Animation type: by computed value type
- hyphenate-limit-lines
Animation type: by computed value type
- word-spacing
Animation type: by computed value type
- letter-spacing
Animation type: by computed value type
- line-padding
Animation type: by computed value type
- text-indent
Animation type: by computed value type
SVG Strokes
CSS Text Decoration Module Level 4
- text-decoration-color
Animation type: by computed value type
- text-decoration-thickness
Animation type: by computed value
- text-decoration
Animation type: see individual properties
- text-underline-offset
Animation type: by computed value
- text-decoration-trim
Animation type: by computed value
- text-emphasis-color
Animation type: by computed value type
- text-emphasis
Animation type: see individual properties
- text-shadow
Animation type: as shadow list
Not Fully Animatable CSS properties
This is a list of properties with discrete
animation type. They are technically animatable but have no real transition and go from start to end with swap at 50%.
CSS Box Alignment Module Level 3
CSS Generated Content Module Level 3
CSS Multi-column Layout Module Level 2
CSS Backgrounds Module Level 4
CSS Linked Parameters
Compatibility Standard
CSS Display Module Level 4
CSS Anchor Positioning
CSS Generated Content for Paged Media Module Level 4
CSS Borders and Box Decorations Module Level 4
CSS Overflow Module Level 5
CSS Lists and Counters Module Level 3
CSS Line Grid Module Level 1
CSS Grid Layout Module Level 3
CSS Fragmentation Module Level 4
CSS Backgrounds and Borders Module Level 3
CSS Overscroll Behavior Module Level 1
CSS Gap Decorations Module Level 1
CSS Fonts Module Level 4
- font-family
- font-synthesis-weight
- font-synthesis-style
- font-synthesis-small-caps
- font-synthesis-position
- font-synthesis
- font-kerning
- font-variant-ligatures
- font-variant-position
- font-variant-caps
- font-variant-numeric
- font-variant-alternates
- font-variant-east-asian
- font-variant
- font-feature-settings
- font-language-override
- font-optical-sizing
- font-variant-emoji
CSS Images Module Level 3
CSS Flexible Box Layout Module Level 1
CSS Images Module Level 4
CSS Grid Layout Module Level 2
CSS Spatial Navigation Level 1
CSS Scroll Anchoring Module Level 1
CSS Scrollbars Styling Module Level 1
CSS Round Display Level 1
CSS Masking Module Level 1
CSS Overflow Module Level 4
CSS Table Module Level 3
CSS Rhythmic Sizing
CSS Box Sizing Module Level 3
CSS Regions Module Level 1
CSS Ruby Annotation Layout Module Level 1
CSS Scroll Snap Module Level 1
CSS Paged Media Module Level 3
CSS Fill and Stroke Module Level 3
CSS Basic User Interface Module Level 4
CSS View Transitions Module Level 2
CSS Overflow Module Level 3
Filter Effects Module Level 1
Scalable Vector Graphics (SVG) 2
CSS Transforms Module Level 2
CSS Box Sizing Module Level 4
CSS Text Decoration Module Level 3
CSS View Transitions Module Level 1
CSS Text Module Level 3
CSS Color Adjustment Module Level 1
CSS Generated Content for Paged Media Module
CSS Positioned Layout Module Level 3
CSS Multi-column Layout Module Level 1
CSS Box Model Module Level 4
CSS Inline Layout Module Level 3
CSS Page Floats
CSS Transforms Module Level 1
CSS Text Module Level 4
- text-transform
- word-space-transform
- white-space
- white-space-collapse
- white-space-trim
- text-wrap-mode
- wrap-inside
- wrap-before
- wrap-after
- text-wrap-style
- word-break
- line-break
- hyphens
- hyphenate-character
- hyphenate-limit-last
- overflow-wrap
- word-wrap
- text-align
- text-align-all
- text-align-last
- text-justify
- text-group-align
- text-autospace
- text-spacing-trim
- text-spacing
- hanging-punctuation
CSS Text Decoration Module Level 4
Not animatable CSS properties
You can see a lot of animation/transition properties here. That's because they animate others but can't be animated themselves.
CSS Animations Level 2
Compositing and Blending Level 2
Compatibility Standard
CSS Display Module Level 4
CSS Animations Level 1
CSS Conditional Rules Module Level 5
CSS Containment Module Level 2
CSS Values and Units Module Level 5
CSS Regions Module Level 1
CSS Will Change Module Level 1
MathML Core
CSS Overflow Module Level 3
CSS Transitions Level 2
CSS Writing Modes Level 4
CSS Color Adjustment Module Level 1
CSS Transitions Level 1
Scroll-driven Animations
CSS Viewport Module Level 1
Other cases
This is a list of everything else from api that didn't fit main lists. It happens if there is no animation type so api returns undefined
. For example z-index
. It has no animation type in specs. But in reality it's discrete
(also calledan integer
on MDN).
There are also some other properties that are duplicates from different specs or with -webkit prefix that already are in main lists. They are filtered out automatically. If you noticed something is missing please create an issue on github.