- CSS Tutorial
- CSS - Home
- CSS - Introduction
- CSS - Syntax
- CSS - Selectors
- CSS - Inclusion
- CSS - Measurement Units
- CSS - Colors
- CSS - Backgrounds
- CSS - Fonts
- CSS - Text
- CSS - Images
- CSS - Links
- CSS - Tables
- CSS - Borders
- CSS - Border Block
- CSS - Border Inline
- CSS - Margins
- CSS - Lists
- CSS - Padding
- CSS - Cursor
- CSS - Outlines
- CSS - Dimension
- CSS - Scrollbars
- CSS - Inline Block
- CSS - Dropdowns
- CSS - Visibility
- CSS - Overflow
- CSS - Clearfix
- CSS - Float
- CSS - Arrows
- CSS - Resize
- CSS - Quotes
- CSS - Order
- CSS - Position
- CSS - Hyphens
- CSS - Hover
- CSS - Display
- CSS - Focus
- CSS - Zoom
- CSS - Translate
- CSS - Height
- CSS - Hyphenate Character
- CSS - Width
- CSS - Opacity
- CSS - Z-Index
- CSS - Bottom
- CSS - Navbar
- CSS - Overlay
- CSS - Forms
- CSS - Align
- CSS - Icons
- CSS - Image Gallery
- CSS - Comments
- CSS - Loaders
- CSS - Attr Selectors
- CSS - Combinators
- CSS - Root
- CSS - Box Model
- CSS - Counters
- CSS - Clip
- CSS - Writing Mode
- CSS - Unicode-bidi
- CSS - min-content
- CSS - All
- CSS - Inset
- CSS - Isolation
- CSS - Overscroll
- CSS - Justify Items
- CSS - Justify Self
- CSS - Tab Size
- CSS - Pointer Events
- CSS - Place Content
- CSS - Place Items
- CSS - Place Self
- CSS - Max Block Size
- CSS - Min Block Size
- CSS - Mix Blend Mode
- CSS - Max Inline Size
- CSS - Min Inline Size
- CSS - Offset
- CSS - Accent Color
- CSS - User Select
- CSS Advanced
- CSS - Grid
- CSS - Grid Layout
- CSS - Flexbox
- CSS - Visibility
- CSS - Positioning
- CSS - Layers
- CSS - Pseudo Classes
- CSS - Pseudo Elements
- CSS - @ Rules
- CSS - Text Effects
- CSS - Paged Media
- CSS - Printing
- CSS - Layouts
- CSS - Validations
- CSS - Image Sprites
- CSS - Important
- CSS - Data Types
- CSS3 Tutorial
- CSS3 - Tutorial
- CSS - Rounded Corner
- CSS - Border Images
- CSS - Multi Background
- CSS - Color
- CSS - Gradients
- CSS - Box Shadow
- CSS - Box Decoration Break
- CSS - Caret Color
- CSS - Text Shadow
- CSS - Text
- CSS - 2d transform
- CSS - 3d transform
- CSS - Transition
- CSS - Animation
- CSS - Multi columns
- CSS - Box Sizing
- CSS - Tooltips
- CSS - Buttons
- CSS - Pagination
- CSS - Variables
- CSS - Media Queries
- CSS - Functions
- CSS - Math Functions
- CSS - Masking
- CSS - Shapes
- CSS - Style Images
- CSS - Specificity
- CSS - Custom Properties
- CSS Responsive
- CSS RWD - Introduction
- CSS RWD - Viewport
- CSS RWD - Grid View
- CSS RWD - Media Queries
- CSS RWD - Images
- CSS RWD - Videos
- CSS RWD - Frameworks
- CSS References
- CSS - Questions and Answers
- CSS - Quick Guide
- CSS - References
- CSS - Color References
- CSS - Web browser References
- CSS - Web safe fonts
- CSS - Units
- CSS - Animation
- CSS Resources
- CSS - Useful Resources
- CSS - Discussion
CSS - animation-play-state Property
The CSS property animation-play-state checks whether an animation is actively running or in a paused state.
If a paused animation is resumed, it will continue from the point where it was paused, keeping the progress instead of restarting from the first frame of the animation sequence.
Possible Values
The CSS property animation-play-state can have one of the following values:
running - The animation is currently in progress.
paused - The animation is currently in a paused state.
Note: When multiple comma-separated values on an animation-* property is specified, the values are applied to the animations in the order in which the animation-names appear.
Syntax
animation-play-state = <single-animation-play-state># <single-animation-play-state> = running | paused
Applies To
All the HTML elements, ::before and ::after pseudo-elements.
CSS animation-play-state - Running State
In the following example, the animation-play-state property controls whether the animation is actively running or paused by default.
It is set to running, the animation stays running.
It allows the animation to commence and the circle to pulsate with a scaling effect when the cursor hovers over it.
<html> <head> <style> body { display: flex; justify-content: center; align-items: center; height: 250px; margin: 0; background-color: #f0f0f0; } .circle-demo { width: 100px; height: 100px; background-color: #ff6347; border-radius: 50%; animation-name: pulse; animation-duration: 1s; animation-iteration-count: infinite; animation-play-state: running; } @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.8); } 100% { transform: scale(1); } } </style> </head> <body> <div class="circle-demo"></div> </body> </html>
CSS animation-play-state - Paused State
In the following example, the animation-play-state property controls whether the animation is actively running or paused by default.
It is set to paused, the animation stays paused.
It doesn't allow the animation to commence and continue.
<html> <head> <style> body { display: flex; justify-content: center; align-items: center; height: 200px; margin: 0; background-color: #f0f0f0; } .circle-demo { width: 100px; height: 100px; background-color: #ff6347; border-radius: 50%; animation-name: pulse; animation-duration: 1s; animation-iteration-count: infinite; animation-play-state: paused; } @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.8); } 100% { transform: scale(1); } } </style> </head> <body> <div class="circle-demo"></div> </body> </html>
CSS animation-play-state - Both States
In the following example, the animation-play-state property controls whether the animation is actively running or paused by default.
Initially set to paused, the animation stays static until hovered over, triggering the state change to running.
It allows the animation to commence and the circle to pulsate with a scaling effect when the cursor hovers over it.
<html> <head> <style> body { display: flex; justify-content: center; align-items: center; height: 250px; margin: 0; background-color: #f0f0f0; } .circle-demo { width: 100px; height: 100px; background-color: #ff6347; border-radius: 50%; animation-name: pulse; animation-duration: 1s; animation-iteration-count: infinite; animation-play-state: paused; } .circle-demo:hover { animation-play-state: running; } @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.8); } 100% { transform: scale(1); } } </style> </head> <body> <div class="circle-demo"></div> </body> </html>