The column-span property lets an element break out of the column flow and stretch across every column in a multi-column container.
01
Span Columns
Full-width breakout.
02
none vs all
Two values only.
03
Default none
Normal column flow.
04
Headings
Article titles.
05
Callouts
Banners & quotes.
06
Magazine Layout
Newspaper-style.
Fundamentals
Definition and Usage
The column-span CSS property specifies how many columns an element should span across in a multi-column layout. It is particularly useful when you want a specific element to break out of the column structure and span all columns, creating a visually distinct section within the layout.
Apply it to child elements inside a container that uses column-count or column-width. Common use cases include article headings, hero banners, pull quotes, and full-width dividers between sections of flowing text.
💡
Beginner Tip
column-span only accepts none or all — you cannot span exactly two of three columns. For partial spanning, use CSS Grid or Flexbox instead.
Foundation
📝 Syntax
The syntax for column-span is simple — it takes one of two values: none or all.
The initial value is none — the element stays in the column flow.
all makes the element span every column in its multi-column parent.
Apply to direct or nested children inside a multi-column container.
Does not accept numeric values like 2 — only none and all.
Works well with headings, banners, and callout boxes in magazine-style layouts.
Cheat Sheet
⚡ Quick Reference
Question
Answer
Initial value
none
Applies to
Children of multi-column containers
Inherited
No
Animatable
No
Common use
Full-width headings and banners in column layouts
Reference
💎 Property Values
The column-span property accepts only two keyword values.
Value
Description
none
The element does not span across columns (default). It flows normally within the column layout.
all
The element spans across all columns, breaking out to the full width of the container.
Preview
👀 Live Preview
A light-blue banner with column-span: all sits above three columns of flowing text.
This heading spans across all columns
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur pretium, neque id placerat hendrerit, nulla nunc sollicitudin metus.
Proin id consequat nunc. Integer tincidunt erat et massa commodo, a feugiat magna ullamcorper. Sed accumsan risus a dui tristique.
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Integer in libero vel risus dignissim malesuada.
Hands-On
Examples Gallery
Try a spanning banner, article heading, mid-article callout, and bottom footer note.
📐 Spanning All Columns
Start with the reference example — a light-blue element that spans all three columns.
Example 1 — Full-Width Spanning Banner
Make a heading span across all columns in a three-column layout.
column-span-all.html
<style>.container{column-count:3;column-gap:20px;}.spanning-element{column-span:all;background-color:lightblue;padding:10px;text-align:center;}</style><divclass="container"><divclass="spanning-element">This heading spans across all columns</div><p>...</p></div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.
How It Works
The heading spans both columns while body paragraphs flow normally in the two-column layout beneath it.
🛠 Layout Patterns
Place full-width callouts and footer notes inside multi-column articles.
Example 3 — Mid-Article Callout Box
Insert a highlighted callout that spans all columns between paragraphs.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Published June 2026 · CodeToFun CSS Tutorial
How It Works
A spanning footer sits below all column content, ideal for bylines, dates, or source attribution.
🧠 How column-span Works
1
Multi-column container
Parent uses column-count or column-width.
Prerequisite
2
You set column-span: all
Target a child element that should break out of the column flow.
CSS rule
3
Element spans full width
The element stretches across every column before content continues below.
Rendering
=
📰
Magazine-style layout
Headings and callouts stand out while body text flows in columns.
Compatibility
Modern Browser Support
The column-span property is supported in most modern browsers, including Chrome, Firefox, Safari, Edge, and Opera.
✓ Baseline · Modern browsers
Column spanning everywhere
All major browsers support column-span as part of the Multi-column Layout module.
97%Modern browser support
Google Chrome50+ · Desktop & Mobile
Full support
Mozilla Firefox52+ · Desktop & Mobile
Full support
Apple Safari9+ · macOS & iOS
Full support
Microsoft Edge12+ · All versions
Full support
Opera37+ · Modern versions
Full support
column-span property97% supported
Bottom line: Use column-span: all freely for full-width elements in multi-column layouts. Test in Safari if spanning nested elements.
Wrap Up
Conclusion
The column-span property is a useful tool for creating unique and visually appealing layouts in a multi-column setting. By allowing specific elements to span across all columns, you can create standout sections that draw attention and break up the monotony of the column structure.
Experiment with this property to enhance the design and readability of your multi-column layouts.
Use column-span: all for headings, banners, and callouts
Keep spanning elements short so they do not dominate the layout
Pair with clear visual styling (background, border) for spanning blocks
Use for magazine-style article titles and pull quotes
Test spanning behavior on mobile column counts
❌ Don’t
Expect to span exactly 2 of 3 columns — only none or all work
Overuse spanning elements — they lose impact if every block spans
Confuse column-span with HTML table colspan
Apply to the multi-column container itself — use it on children
Rely on column-span for complex layouts — use Grid for fine control
Summary
Key Takeaways
Knowledge Unlocked
Five things to remember about column-span
Use these points when breaking elements out of column flow.
5
Core concepts
📰01
Span all
Full-width breakout.
Purpose
⚙02
Default none
Normal flow.
Default
🖌03
Two values
none and all.
Values
📐04
On children
Inside column box.
Tip
🛸05
Headings
Magazine layout.
Use case
❓ Frequently Asked Questions
column-span controls whether an element spans across all columns in a multi-column layout. Use all to break an element out of the column flow so it stretches the full container width.
The initial value is none, which means the element stays within the normal column flow and does not span across columns.
column-span accepts only two values: none (default) and all (span every column in the container).
column-span applies to CSS multi-column layouts on block elements. colspan is an HTML table attribute for table cells spanning columns in a table.
Use column-span all for headings, banners, images, or callout boxes that should break out of the column structure and span the full width of a multi-column container.