CSS3 Multiple column layout

Method of flowing information in multiple columns

Spec https://www.w3.org/TR/css3-multicol/
Status W3C Candidate Recommendation
IE Edge Firefox Chrome Safari Opera
      98 (3)    
    95 (3) 97 (3)    
    94 (3) 96 (3) TP  
11 95 (3) 93 (3) 95 (3) 15 80 (3)
10 94 (3) 92 (3) 94 (3) 14.1 79 (3)
9 93 (3) 91 (3) 93 (3) 14 78 (3)
8 92 (3) 90 (3) 92 (3) 13.1 77 (3)
Show all
7 91 (3) 89 (3) 91 (3) 13 76 (3)
6 90 (3) 88 (3) 90 (3) 12.1 75 (3)
5.5 89 (3) 87 (3) 89 (3) 12 74 (3)
  88 (3) 86 (3) 88 (3) 11.1 73 (3)
  87 (3) 85 (3) 87 (3) 11 72 (3)
  86 (3) 84 (3) 86 (3) 10.1 71 (3)
  85 (3) 83 (3) 85 (3) 10 70 (3)
  84 (3) 82 (3) 84 (3) 9.1 (1) 69 (3)
  83 (3) 81 (3) 83 (3) 9 (1) 68 (3)
  81 (3) 80 (3) 81 (3) 8 (1,*) 67 (3)
  80 (3) 79 (3) 80 (3) 7.1 (1,*) 66 (3)
  79 (3) 78 (3) 79 (3) 7 (1,*) 65 (3)
  18 77 (3) 78 (3) 6.1 (1,2,*) 64 (3)
  17 76 (3) 77 (3) 6 (1,2,*) 63 (3)
  16 75 (3) 76 (3) 5.1 (1,2,*) 62 (3)
  15 74 (3) 75 (3) 5 (1,2,*) 60 (3)
  14 73 (3) 74 (3) 4 (1,2,*) 58 (3)
  13 72 (3) 73 (3) 3.2 (1,2,*) 57 (3)
  12 71 (3) 72 (3) 3.1 (1,2,*) 56 (3)
    70 (3) 71 (3)   55 (3)
    69 (3) 70 (3)   54 (3)
    68 (3) 69 (3)   53 (3)
    67 (3) 68 (3)   52 (3)
    66 (3) 67 (3)   51 (3)
    65 (3) 66 (3)   50 (3)
    64 (1) 65 (3)   49 (3)
    63 (1) 64 (3)   48 (3)
    62 (1) 63 (3)   47 (3)
    61 (1) 62 (3)   46 (3)
    60 (1) 61 (3)   45 (3)
    59 (1) 60 (3)   44 (3)
    58 (1) 59 (3)   43 (3)
    57 (1) 58 (3)   42 (3)
    56 (1) 57 (3)   41 (3)
    55 (1) 56 (3)   40 (3)
    54 (1) 55 (3)   39 (3)
    53 (1) 54 (3)   38 (3)
    52 (1) 53 (3)   37 (3)
    51 (1,*) 52 (3)   36 (1,2,*)
    50 (1,*) 51 (3)   35 (1,2,*)
    49 (1,*) 50 (3)   34 (1,2,*)
    48 (1,*) 49 (1,2,*)   33 (1,2,*)
    47 (1,*) 48 (1,2,*)   32 (1,2,*)
    46 (1,*) 47 (1,2,*)   31 (1,2,*)
    45 (1,*) 46 (1,2,*)   30 (1,2,*)
    44 (1,*) 45 (1,2,*)   29 (1,2,*)
    43 (1,*) 44 (1,2,*)   28 (1,2,*)
    42 (1,*) 43 (1,2,*)   27 (1,2,*)
    41 (1,*) 42 (1,2,*)   26 (1,2,*)
    40 (1,*) 41 (1,2,*)   25 (1,2,*)
    39 (1,*) 40 (1,2,*)   24 (1,2,*)
    38 (1,*) 39 (1,2,*)   23 (1,2,*)
    37 (1,*) 38 (1,2,*)   22 (1,2,*)
    36 (1,*) 37 (1,2,*)   21 (1,2,*)
    35 (1,*) 36 (1,2,*)   20 (1,2,*)
    34 (1,*) 35 (1,2,*)   19 (1,2,*)
    33 (1,*) 34 (1,2,*)   18 (1,2,*)
    32 (1,*) 33 (1,2,*)   17 (1,2,*)
    31 (1,*) 32 (1,2,*)   16 (1,2,*)
    30 (1,*) 31 (1,2,*)   15 (1,2,*)
    29 (1,*) 30 (1,2,*)   12.1
    28 (1,*) 29 (1,2,*)   12
    27 (1,*) 28 (1,2,*)   11.6
    26 (1,*) 27 (1,2,*)   11.5
    25 (1,*) 26 (1,2,*)   11.1
    24 (1,*) 25 (1,2,*)   11
    23 (1,*) 24 (1,2,*)   10.6
    22 (1,*) 23 (1,2,*)   10.5
    21 (1,*) 22 (1,2,*)   10.0-10.1
    20 (1,*) 21 (1,2,*)   9.5-9.6
    19 (1,*) 20 (1,2,*)   9
    18 (1,*) 19 (1,2,*)    
    17 (1,*) 18 (1,2,*)    
    16 (1,*) 17 (1,2,*)    
    15 (1,*) 16 (1,2,*)    
    14 (1,*) 15 (1,2,*)    
    13 (1,*) 14 (1,2,*)    
    12 (1,*) 13 (1,2,*)    
    11 (1,*) 12 (1,2,*)    
    10 (1,*) 11 (1,2,*)    
    9 (1,*) 10 (1,2,*)    
    8 (1,*) 9 (1,2,*)    
    7 (1,*) 8 (1,2,*)    
    6 (1,*) 7 (1,2,*)    
    5 (1,*) 6 (1,2,*)    
    4 (1,*) 5 (1,2,*)    
    3.6 (1,*) 4 (1,2,*)    
    3.5 (1,*)      
    3 (1,*)      
    2 (1,*)      
Safari on iOS Opera Mini Android Browser Blackberry Browser Opera Mobile Android Chrome Android Firefox IE Mobile Android UC Browser Samsung Internet QQ Browser Baidu Browser KaiOS Browser
15 all 94 (3) 10 (1,2,*) 64 (3) 94 (3) 92 (3) 11 12.12 15.0 10.4 (1) 7.12 (1) 2.5 (1,*)
14.5-14.8   4.4.3-4.4.4 (1,2,*) 7 (1,2,*) 12.1     10   14.0      
14.0-14.4   4.4 (1,2,*)   12         13.0      
13.4-13.7   4.2-4.3 (1,2,*)   11.5         12.0      
Show all
13.3   4.1 (1,2,*)   11.1         11.1-11.2      
13.2   4 (1,2,*)   11         10.1      
13.0-13.1   3 (1,2,*)   10         9.2      
12.2-12.5   2.3 (1,2,*)             8.2      
12.0-12.1   2.2 (1,2,*)             7.2-7.4      
11.3-11.4   2.1 (1,2,*)             6.2-6.4      
11.0-11.2                 5.0-5.4      
10.3                 4 (1,2,*)      
10.0-10.2                        
9.3 (1)                        
9.0-9.2 (1)                        
8.1-8.4 (1,*)                        
8 (1,*)                        
7.0-7.1 (1,*)                        
6.0-6.1 (1,2,*)                        
5.0-5.1 (1,2,*)                        
4.2-4.3 (1,2,*)                        
4.0-4.1 (1,2,*)                        
3.2 (1,2,*)                        

Notes

  1. Partial support refers to not supporting the properties break-before, break-after, and break-inside. WebKit- and Blink-based browsers have equivalent support with the non-standard -webkit-column-break-* properties, but only for the values auto and always. Firefox does not support the break-* properties but supports the now-obsolete page-break-* properties in the paging (printing) context.

  2. Partial support refers to not supporting the column-fill property.

  3. Partial support refers to not supporting the values avoid-column, column, and avoid (in the column context) for the properties break-before, break-after, and break-inside.

* Partial support with prefix.

Bugs

  • Firefox 1-64 does not support the properties break-before, break-after, and break-inside. Firefox 65+ supports these properties, but not the values avoid-column, column, and avoid (in the column context). See the bug.

  • In Firefox, the property column-span (or -moz-column-span) does not yet work. See the bug.

  • Chrome is reported to incorrectly calculate the container height, often breaks on margins and padding, and can display one pixel of the next column at the bottom of the previous column. Some of these issues can be solved by adding -webkit-perspective: 1; to the column container. This creates a new stacking context for the container, and apparently causes Chrome to (re)calculate column layout.

  • Browsers behave differently when flowing ol list numbers in columns: IE and Safari display numbers only in the first column. Chrome does not display any numbers. Only Firefox behaves as expected and displays numbers in all columns.

  • IE is reported to incorrectly break on elements across columns when having more than three columns.

  • IE 10 has a bug where text-shadow doesn't work when used inside columns. See a testcase.

  • Firefox does not split tables into columns.

  • Firefox and Chrome do not support columns on the fieldset element. See bug.

  • Safari 5-8 is known to render columns less evenly than other browsers.

  • Safari 5.1-10+ does not work as expected with min-height. See a testcase See bug.

Resources

Data by caniuse.com
Licensed under the Creative Commons Attribution License v4.0.
https://caniuse.com/multicolumn