Title: CSS Multi-column Layout Module Level 2
Group: CSSWG
Shortname: css-multicol
Level: 2
Status: ED
Work Status: Exploring
ED: https://drafts.csswg.org/css-multicol-2/
Editor: Florian Rivoal, On behalf of Bloomberg, http://florian.rivoal.net/, w3cid 43241
Editor: Rachel Andrew, Google, rachelandrew@google.com, w3cid 81117
Abstract: This specification describes multi-column layouts in CSS, a style sheet language for the web. Using functionality described in the specification, content can be flowed into multiple columns with a gap and a rule between them.
Abstract:
Abstract: This is a delta specification over CSS Multi-column Level 1.
          Once the level 1 specification is final,
          its content will be integrated into this specification,
          which will then replace it.
          Until then, CSS Multi-column Level 2 only contains additions and extensions to level 1
Ignored Terms: column-width, column-count, columns, column-gap, column-rule-color, column-rule-style, column-rule-width, column-rule, column-fill, multi-column container
               
Ignored Vars: column-gap, column-width

Introduction

Issue: Add final content from previous level

Module Interactions

This document defines new features not present in earlier specifications. In addition, once final, it will replace and supersede the following:

The multi-column model

Issue: Add final content from previous level

The number and width of columns

Issue: Add final content from previous level

'column-width'

Issue: Add final content from previous level

'column-count'

Issue: Add final content from previous level

'columns'

Issue: Add final content from previous level

Pseudo-algorithm

Issue: Add final content from previous level

Stacking context

Issue: Add final content from previous level

Column gaps and rules

Issue: Add final content from previous level

'column-gap'

Issue: Add final content from previous level

'column-rule-color'

Issue: Add final content from previous level

'column-rule-style'

Issue: Add final content from previous level

'column-rule-width'

Issue: Add final content from previous level

'column-rule'

Issue: Add final content from previous level

Column breaks

The previous level of this specification defined how the user agent must determine where column breaks are placed when content is laid out in multiple columns. The [[!CSS3-BREAK]] module has since been introduced to define how to break the content across pages, columns, or CSS Regions, and supersedes the column break section of [[CSS3-MULTICOL]]. This specification defers to [[!CSS3-BREAK]] on this topic.

'break-before', 'break-after', 'break-inside'

The 'break-before', 'break-after' and 'break-inside' properties are now defined in [[!CSS3-BREAK]].

Spanning columns

The 'column-span' property makes it possible for an element to span across several columns. This specification adds <> to the values available in the previous level.

'column-span'

	Name: column-span
	Value: none | <> | all | auto
	Initial: none
	Applies to: in-flow block-level elements
	Inherited: no
	Percentages: N/A
	Computed value: specified value
	Animation type: discrete
	
This property describes how many columns an element spans across. Values are:
none
all
Issue: Add final content from previous level
<>
The element spans the specified number of columns. Values must be greater than 0. If the specified integer value is equal to, or larger than the number of columns in the multicol element, the number of columns spanned will be the same as if ''column-span: all'' had been specified.
This definition is insufficient.
  • Does ''column-span: 1'' count as ''column-span: none'', or does it create a spanner (which is a BFC)?
  • Which columns does it span?
  • How does that affect height calculations, and interact with column-fill
auto
The number of columns spanned by the element depends on its min-content outer size in the inline direction of the multi-column container. If it is smaller than the used value of 'column-width', this is the same as if ''column-span: none'' had been specified. Otherwise, the number of columns spanned is the smallest positive integer n for which n × 'column-width' + (n - 1) × 'column-gap' is larger than the min-content outer size. If this would be larger than the number of columns, the number of columns spanned will be the same as if ''column-span: all'' had been specified. Issue: If ''column-span: 1'' does not do the same as ''column-span: none'', should this behave as ''column-span: 1'' or as ''column-span: none'' when the element is small enough?
Issue: Add final content from previous level possibly with adjustments to account for <> values

Filling columns

Issue: Add final content from previous level

'column-fill'

Issue: Add final content from previous level

Overflow

Overflow inside multicol elements

Issue: Add final content from previous level

Pagination and overflow outside multicol elements

Issue: Add final content from previous level

Acknowledgments

This document builds upon Håkon Wium Lie's work in [[CSS3-MULTICOL]], and is based on several older proposals and comments on older proposals. Contributors include: Issue: Add final level 1 contributor list

Privacy and Security Considerations

Delta spec lol