- CSS Basics
- CSS Tutorial HomePage
- CSS Where to Write
- CSS Syntax
- CSS Selectors
- CSS Combinators
- CSS Attribute Selectors
- CSS Pseudo Classes
- CSS Pseudo-Classes
- CSS :link :hover :active
- CSS :first-child
- CSS :first-of-type
- CSS :last-child
- CSS :last-of-type
- CSS :only-child
- CSS :only-of-type
- CSS :nth-child()
- CSS :nth-of-type()
- CSS :nth-last-child()
- CSS :nth-last-of-type()
- CSS :focus
- CSS :not()
- CSS :root
- CSS :empty
- CSS :target
- CSS :lang()
- CSS :valid
- CSS :invalid
- CSS :optional
- CSS :required
- CSS :in-range
- CSS :out-of-range
- CSS :enabled :disabled
- CSS :read-only
- CSS :read-write
- CSS Pseudo Elements
- CSS Pseudo-Elements
- CSS ::before
- CSS ::after
- CSS ::first-letter
- CSS ::first-line
- CSS ::marker
- CSS ::selection
- CSS Colors
- CSS Colors
- CSS rgb() and rgba()
- CSS hsl() and hsla()
- CSS Background
- CSS background
- CSS background-color
- CSS background-image
- CSS linear-gradient()
- CSS radial-gradient()
- CSS conic-gradient()
- CSS repeating-linear-gradient()
- CSS repeating-radial-gradient()
- CSS repeating-conic-gradient()
- CSS background-position
- CSS background-size
- CSS background-repeat
- CSS background-origin
- CSS background-clip
- CSS background-attachment
- CSS background-blend-mode
- CSS Border
- CSS border
- CSS border-style
- CSS border-style Values
- CSS border-width
- CSS border-color
- CSS border-top
- CSS border-top-style
- CSS border-top-width
- CSS border-top-color
- CSS border-bottom
- CSS border-bottom-style
- CSS border-bottom-width
- CSS border-bottom-color
- CSS border-left
- CSS border-left-style
- CSS border-left-width
- CSS border-left-color
- CSS border-right
- CSS border-right-style
- CSS border-right-width
- CSS border-right-color
- CSS border-top-left-radius
- CSS border-top-right-radius
- CSS border-bottom-left-radius
- CSS border-bottom-right-radius
- CSS border-radius
- CSS border-collapse
- CSS empty-cells
- CSS border-spacing
- CSS border-image
- CSS border-image-source
- CSS border-image-slice
- CSS border-image-width
- CSS border-image-outset
- CSS border-image-repeat
- CSS Fonts
- CSS font
- CSS font-style
- CSS font-variant
- CSS font-variant-caps
- CSS font-weight
- CSS font-size
- CSS line-height
- CSS font-family
- CSS font-stretch
- CSS font-kerning
- CSS font-face
- CSS font-feature-settings
- CSS Text
- CSS Text
- CSS color
- CSS text-decoration
- CSS text-decoration-line
- CSS text-decoration-color
- CSS text-decoration-style
- CSS text-underline-position
- CSS text-align
- CSS text-align-last
- CSS text-justify
- CSS letter-spacing
- CSS word-spacing
- CSS text-shadow
- CSS text-transform
- CSS white-space
- CSS text-indent
- CSS word-wrap
- CSS overflow-wrap
- CSS word-break
- CSS text-overflow
- CSS hyphens
- CSS direction
- CSS unicode-bidi
- CSS writing-mode
- CSS Padding & Margin
- CSS Box Model
- CSS padding
- CSS padding-top
- CSS padding-right
- CSS padding-bottom
- CSS padding-left
- CSS margin
- CSS margin-top
- CSS margin-right
- CSS margin-bottom
- CSS margin-left
- CSS Padding Vs Margin
- CSS Dimensions
- CSS Dimensions
- CSS height
- CSS max-height
- CSS min-height
- CSS width
- CSS max-width
- CSS min-width
- CSS overflow
- CSS overflow-x
- CSS overflow-y
- CSS Multi-Column Layout
- CSS Multi-Column Layout
- CSS columns
- CSS column-width
- CSS column-count
- CSS column-rule
- CSS column-rule-width
- CSS column-rule-style
- CSS column-rule-color
- CSS column-span
- CSS column-fill
- CSS Display
- CSS display
- CSS inline Vs block
- CSS inline Vs inline-block
- CSS flex Vs inline-flex
- CSS inline-flex Vs inline-block
- CSS flex Vs grid
- CSS grid Vs inline-grid
- CSS Float and Position
- CSS float
- CSS clear
- CSS Align
- CSS position
- CSS left
- CSS right
- CSS top
- CSS bottom
- CSS Style List Marker
- CSS Style List Marker
- CSS list-style
- CSS list-style-type
- CSS list-style-position
- CSS list-style-image
- CSS Outline
- CSS outline
- CSS outline-width
- CSS outline-style
- CSS outline-color
- CSS outline-offset
- CSS Effects
- CSS Effects
- CSS Gradients
- CSS Shadows
- CSS box-shadow
- CSS opacity
- CSS Transforms
- CSS transform
- CSS translateX()
- CSS translateY()
- CSS translateZ()
- CSS translate()
- CSS translate3d()
- CSS scaleX()
- CSS scaleY()
- CSS scaleZ()
- CSS scale()
- CSS scale3d()
- CSS rotateX()
- CSS rotateY()
- CSS rotateZ()
- CSS rotate()
- CSS rotate3d()
- CSS skewX()
- CSS skewY()
- CSS skew()
- CSS matrix()
- CSS matrix3d()
- CSS perspective() Function
- CSS perspective Property
- CSS perspective-origin
- CSS transform-style
- CSS transform-origin
- CSS 2D Transform
- CSS 3D Transform
- CSS Transition
- CSS transition
- CSS transition-property
- CSS transition-duration
- CSS transition-timing-function
- CSS transition-delay
- CSS Animation
- CSS animation
- CSS @keyframes
- CSS animation-name
- CSS animation-duration
- CSS animation-timing-function
- CSS animation-delay
- CSS animation-iteration-count
- CSS animation-direction
- CSS animation-fill-mode
- CSS animation-play-state
- CSS Grid Layout
- CSS Grid Layout
- CSS gap
- CSS column-gap
- CSS row-gap
- CSS grid-area
- CSS grid-column-start
- CSS grid-column-end
- CSS grid-row-start
- CSS grid-row-end
- CSS grid-template
- CSS grid-template-columns
- CSS grid-template-rows
- CSS grid-template-areas
- CSS grid-auto-columns
- CSS grid-auto-rows
- CSS grid-auto-flow
- CSS grid-column
- CSS grid-row
- CSS Template Layout
- CSS Flex Layout
- CSS FlexBox
- CSS flex-direction
- CSS flex-wrap
- CSS flex-flow
- CSS justify-content
- CSS align-content
- CSS align-items
- CSS flex-grow
- CSS flex-shrink
- CSS flex-basis
- CSS flex
- CSS align-self
- CSS order
- CSS Misc
- CSS Length Units
- CSS Style Link
- CSS Navigation Bar
- CSS Style Image
- CSS Style Tables
- CSS table-layout
- CSS caption-side
- CSS Create Frames
CSS FlexBox
The CSS flex (display property's value) is used when we need to create flexible items or to design web page flexibly. For example:
<!DOCTYPE html> <html> <head> <style> * {box-sizing: border-box;} body {margin: 0;} .head {padding: 22px 0; font-size: 1.4em; text-align: center; background: maroon; color: white;} .navigation {display: flex; background-color: peru;} .navigation a {color: white; padding: 12px 16px; text-decoration: none; text-align: center;} .cont {display: flex; flex-wrap: wrap; min-height: 580px;} .menu {flex: 20%; background-color: #ccc; padding: 16px;} .content {flex: 60%; padding: 16px;} .right {flex: 20%; background-color: grey; color: white; padding: 16px;} .foot {padding: 22px 0; text-align: center; background: maroon; color: white;} @media screen and (max-width: 600px) {.cont, .navigation {flex-direction: column;}} </style> </head> <body> <div class="head">fresherearth</div> <div class="navigation"> <a href="#">LinkOne</a> <a href="#">LinkTwo</a> <a href="#">LinkThree</a> <a href="#">LinkFour</a> <a href="#">LinkFive</a> </div> <div class="cont"> <div class="menu"> <p>----Some Menu----</p> </div> <div class="content"> <p>Title of the Page...</p> <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Distinctio facere possimus vero.</p> <p>Some heading...</p> <p>Some text...</p> </div> <div class="right"> <p>----Right Side----</p> <p>some links...</p> <p>Some texts...</p> <p>Some announcement..</p> </div> </div> <div class="foot"> <p>Some texts/links...</p> </div> </body> </html>
Title of the Page...
Some heading...
Some text...
----Right Side----
some links...
Some texts...
Some announcement..
Some texts/links...
Note - If you're on mobile phone, then rotate the phone, either from landscape to portrait or from portrait to landscape, to see the effect or change in layout.
Note - Above example is just a demo about how the FlexBox works in creating flexible layout. You'll learn all about it, starting from next tutorial/topic.
CSS flex Container
To create a flex container, apply the display property with its value as flex, to the element. For example:
<!DOCTYPE html> <html> <head> <style> .cont{display: flex;} </style> </head> <body> <div class="cont"> <div>A</div> <div>B</div> <div>C</div> <div>D</div> </div> </body> </html>
Now the DIV whose class name is cont becomes a flex container.
CSS flex Container Properties
- flex-direction - define the direction of items in flex container
- flex-wrap - wrap items in flex container
- flex-flow - define flex-direction and flex-wrap at once
- justify-content - align content on main or horizontal axis in flex container
- align-content - align the content in flex container
- align-items - align the items inside the flex container
CSS flex Items
All direct child elements of a flex container are flex (flexible) items (elements). For example:
<!DOCTYPE html> <html> <head> <style> .cont{display: flex;} .cont > div{border: 1px solid coral; padding: 12px;} </style> </head> <body> <div class="cont"> <div>A</div> <div> <div class="content"> <h2>The FlexBox</h2> <p>The <b>flexbox</b> Example</p> </div> </div> <div> <div> <p>Some text..</p> </div> </div> <div>D</div> </div> </body> </html>
The FlexBox
The flexbox Example
Some text..
CSS flex Item Properties
- flex-grow - grow (increase the width of) flex items relatively, in the same flex container
- flex-shrink - shrink flex items relatively, in same flex container
- flex-basis - set the initial length of flex items in flex container
- flex - shorthand of flex-grow, flex-shrink, and flex-basis properties
- align-self - align particular item based on the value assigned to it
- order - customize the order of flex items, in flex container
« Previous Tutorial Next Tutorial »