
- 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-wrap Property
CSS flex-wrap property determines whether flex items should remain on a single line or are allowed to wrap onto multiple lines depending on the availability of space in the container they are contained in. The elements must be flexible in order for the property to show its effect.
Syntax
flex-wrap: nowrap | wrap | wrap-reverse | initial | inherit;
Property Values
Value | Description |
---|---|
nowrap | It specifies that the elements will stay on same line and will not wrap. Default. |
wrap | It allows the elements to wrap if needed depending on the available space of flex container. |
wrap-reverse | It allows the elements to wrap in reverse direction if needed depending on the available space of flex container. |
initial | It sets the property to its default value. |
inherit | It inherits the property from the parent element. |
Examples of CSS Flex Wrap Property
The following examples explain the flex-wrap property with different values.
Flex Wrap Property with No Wrap Value
To let the flex items remain in the same line within a flex container, we use the nowrap value. The flex items will overflow if they exceed the dimensions of the container. This is shown in the following example.
Example
<!DOCTYPE html> <html> <head> <style> .container { background-color: lightgray; display: flex; flex-wrap: nowrap; border: 2px solid #000; padding: 10px; width: 300px; } .item { background-color: #4CAF50; color: white; border: 1px solid black; padding: 10px; margin: 5px; flex-basis: 110px; } .r1 { background-color: #6600ff; } .r2 { background-color: #4CAF50; } </style> </head> <body> <h2> CSS flex-wrap Property </h2> <h4> flex-wrap: no-wrap (flex items will remain in same line, will overflow if they exceed the dimensions of the container) </h4> <div class="container"> <div class="item r1"> Item 1 </div> <div class="item r1"> Item 2 </div> <div class="item r2"> Item 3 </div> <div class="item r2"> Item 4 </div> </div> </body> </html>
Flex Wrap Property with Wrap Value
To let the flex items spread across multiple lines, we use the wrap value. If the flex items start exceeding the dimesions of the container, they will move to the next line depending on the availability of space in the container. This is shown in the following example.
Example
<!DOCTYPE html> <html> <head> <style> .container { background-color: lightgray; display: flex; flex-wrap: wrap; border: 2px solid #000; padding: 10px; width: 300px; } .item { color: white; border: 1px solid black; padding: 10px; margin: 5px; flex-basis: 110px; } .r1 { background-color: #6600ff; } .r2 { background-color: #4CAF50; } </style> </head> <body> <h2> CSS flex-wrap Property </h2> <h4> flex-wrap: wrap (flex items move to multiple lines if they exceed container dimensions) </h4> <div class="container"> <div class="item r1"> Item 1 </div> <div class="item r1"> Item 2 </div> <div class="item r2"> Item 3 </div> <div class="item r2"> Item 4 </div> </div> </body> </html>
Flex Wrap Property with Wrap Reverse Value
To let the flex items spread across multiple lines in reverse direction, we use the wrap-reverse value. If the flex items start exceeding the dimesions of the container, they will move to the next line in reverse direction depending on the availability of space in the container. This is shown in the following example.
Example
<!DOCTYPE html> <html> <head> <style> .container { background-color: lightgray; display: flex; flex-wrap: wrap-reverse; border: 2px solid #000; padding: 10px; width: 300px; } .item { color: white; border: 1px solid black; padding: 10px; margin: 5px; flex-basis: 110px; } .r1 { background-color: #6600ff; } .r2 { background-color: #4CAF50; } </style> </head> <body> <h2> CSS flex-wrap Property </h2> <h4> flex-wrap: wrap-reverse (flex items move to multiple lines in reverse direction if they exceed container dimensions) </h4> <div class="container"> <div class="item r1"> Item 1 </div> <div class="item r1"> Item 2 </div> <div class="item r2"> Item 3 </div> <div class="item r2"> Item 4 </div> </div> </body> </html>
Supported Browsers
Property | ![]() | ![]() | ![]() | ![]() | ![]() |
---|---|---|---|---|---|
flex-wrap | 29.0 | 11.0 | 28.0 | 9.0 | 17.0 |