
- CSS - Home
- CSS - Roadmap
- CSS - Introduction
- CSS - Syntax
- CSS - Inclusion
- CSS - Types
- CSS - Measurement Units
- CSS - Selectors
- 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 - Cascading
- CSS - Universal Selectors
- CSS - ID Selectors
- CSS - Group Selectors
- CSS - Class Selectors
- CSS - Child Selectors
- CSS - Element Selectors
- CSS - Descendant Selectors
- CSS - General Sibling Selectors
- CSS - Adjacent Sibling Selectors
- 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 Advanced Features
- 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 Interview Questions
- CSS Online Quiz
- CSS Online Test
- CSS Mock Test
- CSS - Quick Guide
- CSS - Cheatsheet
- CSS - Properties References
- CSS - Functions References
- CSS - Color References
- CSS - Web Browser References
- CSS - Web Safe Fonts
- CSS - Units
- CSS - Animation
- CSS Resources
- CSS - Useful Resources
- CSS - Discussion
CSS - flex-shrink Property
CSS flex-shrink property controls how flex items shrink relative to each other when there is not enough space in the flex container. The elements must be flexible in order for the property to show its effect.
Syntax
flex-shrink: number | initial | inherit;
Property Values
Value | Description |
---|---|
number | A number specifying how much the element will shrink relative to other flex items. Default is 1. |
initial | This sets the property to its default value. |
inherit | This inherits the property from the parent element. |
Examples of CSS Flex Shrink Property
The following examples explain the flex-shrink property with different values.
Flex Shrink Property with Numeric Values
To let an element shrink relative to other flex elements when there is not enough space in the container, we can specify the shrink factor in numeric values (e.g. 2,3,4 etc.). This is shown in the following example.
Example
<!DOCTYPE html> <html> <head> <style> .flex-container { display: flex; background-color: lightgray; width: 100%; } .flex-container div { color: white; background-color: #4CAF50; padding: 5px; margin: 5px; height: 50px; flex-basis: 100px; } .flex-item1 { flex-shrink: 3; } .flex-item2 { flex-shrink: 4.5; } </style> </head> <body> <h2> CSS flex-shrink property </h2> <h4> flex-shrink: 3 (flex item2, flex item4), 4.5 (flex item6) </h4> <div class="flex-container"> <div> Flex item 1 </div> <div class="flex-item1"> Flex item 2 </div> <div> Flex item 3 </div> <div class="flex-item1"> Flex item 4 </div> <div> Flex item 5 </div> <div class="flex-item2"> Flex item 6 </div> </div> </body> </html>
Flex Shrink Property with Initial Value
The initial value sets the shrink factor to the default value which in this case is 1. So the items using this value will shrink proportionately. This is shown in the following example.
Example
<!DOCTYPE html> <html> <head> <style> .flex-container { display: flex; background-color: lightgray; width: 100%; } .flex-container div { color: white; background-color: #4CAF50; padding: 5px; margin: 5px; height: 50px; flex-basis: 100px; } .flex-item1 { flex-shrink: initial; } .flex-item2 { flex-shrink: 4; } </style> </head> <body> <h2> CSS flex-shrink property </h2> <h4> flex-shrink: initial (flex item2, flex item4), 4 (flex item6) </h4> <div class="flex-container"> <div> Flex item 1 </div> <div class="flex-item1"> Flex item 2 </div> <div> Flex item 3 </div> <div class="flex-item1"> Flex item 4 </div> <div> Flex item 5 </div> <div class="flex-item2"> Flex item 6 </div> </div> </body> </html>
Supported Browsers
Property | ![]() |
![]() |
![]() |
![]() |
![]() |
---|---|---|---|---|---|
flex-shrink | 29.0 | 11.0 | 28.0 | 9.0 | 17.0 |
css_properties_reference.htm
Advertisements