- CSS Tutorial
- CSS Introduction
- CSS Syntax
- CSS Comments
- CSS Selectors
- CSS Fonts
- CSS Colors
- CSS Backgrounds
- CSS Box Model
- CSS Borders
- CSS Margins
- CSS Padding
- CSS Text
- CSS Images
- CSS Links
- CSS Lists
- CSS Tables
- CSS Outline
- CSS Icons
- CSS Display
- CSS max-witdh
- CSS Position
- CSS z-index
- CSS Overflow
- CSS Float
- CSS Align
- CSS Opacity
- CSS Navigation Bar
- CSS Dropdowns
- CSS Forms
- CSS Units
- CSS !important
- CSS Specificity
- CSS Combinators
- CSS inline-block
- CSS Hover
- CSS Cursors
- CSS Selectors
- CSS Type Selector
- CSS Class Selector
- CSS ID Selector
- CSS Attribute Selector
- CSS Pseudo-class Selector
- CSS Pseudo-element Selector
- CSS Universal Selector
- CSS Advanced
- CSS Text Formatting
- CSS Gradients
- CSS Shadow
- CSS Rounded Corners
- CSS Text Effects
- CSS 2D Transform
- CSS 3D Transform
- CSS Border Images
- CSS Inherit
- CSS Transitions
- CSS Animations
- CSS Box Sizing
- CSS Tooltip
- CSS Masking
- CSS Pagination
- CSS Styling Images
- CSS object-fit
- CSS object-position
- CSS Buttons
- CSS Multiple Columns
- CSS Variables
- CSS Flexbox
- CSS Grid
- CSS Media Queries
CSS: Multiple-Columns
In CSS, you can create multiple columns to display content in a newspaper-like format, with text flowing across multiple columns instead of a single column. This can be achieved using the column-count, column-width, and other related properties. Here's a guide on how to create multiple columns in CSS:
Basic Syntax
To create multiple columns, you can use the following CSS properties:
.container {
column-count: 3; /* Number of columns */
column-gap: 20px; /* Gap between columns */
column-rule: 1px solid #ccc; /* Rule between columns */
}
In this example:
- column-count specifies the number of columns.
- column-gap sets the gap between columns.
- column-rule adds a rule (line) between columns.
Column Width and Flexibility
You can also specify a fixed width for columns or let them adjust dynamically based on available space:
- Fixed Width Columns:
.container {
column-width: 200px; /* Fixed width for columns */
}
- Flexible Width Columns:
.container {
column-width: auto; /* Columns adjust based on available space */
}
Spanning Columns
You can make specific elements span across multiple columns using the column-span property:
.span-column {
column-span: all; /* Element spans all columns */
}
Break Inside Columns
To control how content breaks inside columns, you can use the break-inside property:
.item {
break-inside: avoid; /* Prevents content from breaking inside columns */
}
Example
Here's an example of creating multiple columns with some additional styles:
.container {
column-count: 3;
column-gap: 20px;
column-rule: 1px solid #ccc;
}
.item {
margin-bottom: 20px;
}
.span-column {
column-span: all;
}
HTML
<div class="container">
<div class="item">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>
<div class="item">Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div>
<div class="item">Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</div>
<div class="item span-column">Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</div>
<div class="item">Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>
</div>
In this example, the .container class creates three columns, and the .span-column class makes one of the items span across all columns.
Responsive Design
For responsive designs, you may need to adjust column properties using media queries to ensure optimal layout across different screen sizes.
Browser Compatibility
Multiple columns are well-supported in modern browsers, but older versions of Internet Explorer may have limited support. Consider fallback options or polyfills for older browsers if needed.
By using CSS properties like column-count, column-width, column-gap, and column-rule, you can easily create multi-column layouts for text and other content on your web page.