- 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 grid-auto-columns
The CSS grid-auto-columns property is used to set the default size (width) for all columns in grid layout. For example:
<!DOCTYPE html> <html> <head> <style> div.container {display: grid; gap: 4px; background-color: peru; color: whitesmoke; grid-auto-columns: 80px;} div.container > div {background-color: maroon; padding: 10px; text-align: center;} #a {grid-area: 1 / 1 / span 1 / span 3;} #b {grid-area: 3 / 1 / 2 / span 2;} #d {grid-area: 3 / 1 / 4 / 2;} #j {grid-area: 5 / 1 / 6 / span 3;} </style> </head> <body> <div class="container"> <div id="a">A</div> <div id="b">B</div> <div id="c">C</div> <div id="d">D</div> <div id="e">E</div> <div id="f">F</div> <div id="g">G</div> <div id="h">H</div> <div id="i">I</div> <div id="j">J</div> </div> </body> </html>
See the output, the default size of all columns are 80px. But we can change any particular column's size using the grid-area property.
Note - The grid as the value of display property, is used to make an element as a block level grid container.
Note - The gap property is used to define the gap between rows and columns.
Note - The grid-area property is used to define the location and size of a grid item.
CSS grid-auto-columns Syntax
The syntax of grid-auto-columns property in CSS, is:
grid-auto-columns: x;
The value of x should be any of the following:
- auto - used to set the default value for grid-auto-columns property
- length - used to define the custom size columns. For example: 120px
- % - used to define the custom size columns using percentage. Giving 100% as value to grid-auto-columns, spans the column for the whole horizontal width of the web page
- fit-content(length)|fit-content() - used when we need to utilize every pixels of space or to utilize whole horizontal spaces. For example: fit-content(80px) or fit-content()
- min-content - used to set the minimum width depending on the content of the column. The width of biggest word from all columns, gets utilized and set as the default width for all the columns
- max-content - used to set the maximum possible width that a content of a column can take. This refers to the width of the column in which all the words gets arranged in one line, if possible
- minmax(min.max) - used to define the size range for the column. The range is, the size greater than or equal to the min-content value to less than or equal to the max-content value
CSS grid-auto-columns: fit-content(length) Example
<!DOCTYPE html> <html> <head> <style> div.container {display: grid; gap: 4px; background-color: peru; color: whitesmoke; grid-auto-columns: fit-content(80px);} div.container > div {background-color: maroon; padding: 10px; text-align: center;} #a {grid-area: 1 / 1 / span 1 / span 3;} #b {grid-area: 3 / 1 / 2 / span 2;} #d {grid-area: 3 / 1 / 4 / 2;} #j {grid-area: 5 / 1 / 6 / span 3;} </style> </head> <body> <div class="container"> <div id="a">A</div> <div id="b">B</div> <div id="c">C</div> <div id="d">D</div> <div id="e">Spain</div> <div id="f">F</div> <div id="g">Germany</div> <div id="h">H</div> <div id="i">I</div> <div id="j">J</div> </div> </body> </html>
CSS grid-auto-columns: fit-content() Example
Note - If you remove the 80px from the fit-content(), then the grid items covers the whole grid container. That is, replace the following CSS code, from above program:
grid-auto-columns: fit-content(80px);
with the CSS code given below:
grid-auto-columns: fit-content();
Now the output will be:
CSS grid-auto-columns: min-content Example
<!DOCTYPE html> <html> <head> <style> div.container {display: grid; gap: 4px; background-color: peru; color: whitesmoke; grid-auto-columns: min-content;} div.container > div {background-color: maroon; padding: 10px; text-align: center;} #a {grid-area: 1 / 1 / span 1 / span 3;} #b {grid-area: 3 / 1 / 2 / span 2;} #d {grid-area: 3 / 1 / 4 / 2;} #j {grid-area: 5 / 1 / 6 / span 3;} </style> </head> <body> <div class="container"> <div id="a">A</div> <div id="b">B</div> <div id="c">C</div> <div id="d">D</div> <div id="e">Spain</div> <div id="f">F</div> <div id="g">I'm from Germany</div> <div id="h">H</div> <div id="i">I</div> <div id="j">J</div> </div> </body> </html>
CSS grid-auto-columns: max-content Example
<!DOCTYPE html> <html> <head> <style> div.container {display: grid; gap: 4px; background-color: peru; color: whitesmoke; grid-auto-columns: max-content;} div.container > div {background-color: maroon; padding: 10px; text-align: center;} #a {grid-area: 1 / 1 / span 1 / span 3;} #b {grid-area: 3 / 1 / 2 / span 2;} #d {grid-area: 3 / 1 / 4 / 2;} #j {grid-area: 5 / 1 / 6 / span 3;} </style> </head> <body> <div class="container"> <div id="a">A</div> <div id="b">B</div> <div id="c">C</div> <div id="d">D</div> <div id="e">Spain</div> <div id="f">F</div> <div id="g">I'm from Germany</div> <div id="h">H</div> <div id="i">I</div> <div id="j">J</div> </div> </body> </html>
CSS grid-auto-columns: minmax(min.max) Example
<!DOCTYPE html> <html> <head> <style> div.container {display: grid; gap: 4px; background-color: peru; color: whitesmoke; grid-auto-columns: minmax(min.max);} div.container > div {background-color: maroon; padding: 10px; text-align: center;} #a {grid-area: 1 / 1 / span 1 / span 3;} #b {grid-area: 3 / 1 / 2 / span 2;} #d {grid-area: 3 / 1 / 4 / 2;} #j {grid-area: 5 / 1 / 6 / span 3;} </style> </head> <body> <div class="container"> <div id="a">A</div> <div id="b">B</div> <div id="c">C</div> <div id="d">D</div> <div id="e">Spain</div> <div id="f">F</div> <div id="g">I'm from Germany</div> <div id="h">H</div> <div id="i">I</div> <div id="j">J</div> </div> </body> </html>
« Previous Tutorial Next Tutorial »