{"id":7814,"date":"2010-11-05T16:50:09","date_gmt":"2010-11-05T23:50:09","guid":{"rendered":"http:\/\/css-tricks.com\/"},"modified":"2010-11-05T16:56:03","modified_gmt":"2010-11-05T23:56:03","slug":"multiple-columns","status":"publish","type":"page","link":"https:\/\/css-tricks.com\/snippets\/css\/multiple-columns\/","title":{"rendered":"Multiple Columns"},"content":{"rendered":"

Here is an example of a simple three-column class:<\/p>\n

.three-col {\r\n       -moz-column-count: 3;\r\n       -moz-column-gap: 20px;\r\n       -webkit-column-count: 3;\r\n       -webkit-column-gap: 20px;\r\n}<\/code><\/pre>\n

Of which you would apply to a block of text like so:<\/p>\n

<p class=\"three-col\">Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus<\/p><\/code><\/pre>\n

Example<\/h3>\n

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus<\/p>\n

Note that the height of each column is auto-balanced, as per the spec.<\/p>\n

Also note this demo and sample code is using moz and webkit vendor prefixes, should only work in Gecko (Firefox 1.5+, et al.) and Webkit (Safari 3+, Chrome, et al.) browsers. No native support in Internet Explorer or Opera yet that I know of. <\/p>\n

All Related Properties<\/h3>\n
.three-col {\r\n       -moz-column-count: 3;\r\n       -moz-column-gap: 20px;\r\n       -webkit-column-count: 3;\r\n       -webkit-column-gap : 20px;\r\n       -moz-column-rule-color:  #ccc;\r\n       -moz-column-rule-style:  solid;\r\n       -moz-column-rule-width:  1px;\r\n       -webkit-column-rule-color:  #ccc;\r\n       -webkit-column-rule-style: solid ;\r\n       -webkit-column-rule-width:  1px;\r\n}<\/code><\/pre>\n

You can also set the column-width<\/code> (with prefixes) but it generally makes more sense to let it auto calculate that.<\/p>\n

The rule (“rule”, as in, a line) will split the gap down the middle. You can use the same values as you would a border<\/code>. <\/p>\n

Take care not to have your text blocks be so enormously tall that they are taller than a (fairly small) browser window, otherwise it’s the same problem as text being wider than the browser window (scrolling back and forth to read = sucks). Also consider text-align: justify;<\/code><\/p>\n

JavaScript Fallback<\/h3>\n

Is presented in this A List Apart article<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"

Here is an example of a simple three-column class: .three-col { -moz-column-count: 3; -moz-column-gap: 20px; -webkit-column-count: 3; -webkit-column-gap: 20px; } Of which you would apply to a block of text like so: <p class=”three-col”>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit […]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":3222,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"page-snippet.php","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sig_custom_text":"","sig_image_type":"featured-image","sig_custom_image":0,"sig_is_disabled":false,"inline_featured_image":false,"c2c_always_allow_admin_comments":false,"footnotes":""},"tags":[],"acf":[],"jetpack-related-posts":[{"id":4452,"url":"https:\/\/css-tricks.com\/snippets\/html\/left-right-halves-layout\/","url_meta":{"origin":7814,"position":0},"title":"Left & Right Halves Layout","date":"October 19, 2009","format":false,"excerpt":"Some Example from CSS-Tricks Left Half Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4454,"url":"https:\/\/css-tricks.com\/snippets\/html\/top-bottom-halves-layout\/","url_meta":{"origin":7814,"position":1},"title":"Top & Bottom Halves Layout","date":"October 19, 2009","format":false,"excerpt":"Top and Bottom Halves Top Half Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4034,"url":"https:\/\/css-tricks.com\/snippets\/html\/lorem-ipsum-paragraph\/","url_meta":{"origin":7814,"position":2},"title":"Lorem Ipsum Paragraph","date":"September 11, 2009","format":false,"excerpt":"Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4105,"url":"https:\/\/css-tricks.com\/typography-test\/","url_meta":{"origin":7814,"position":3},"title":"Typography Test","date":"September 17, 2009","format":false,"excerpt":"Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies1 eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":14220,"url":"https:\/\/css-tricks.com\/almanac\/selectors\/l\/lang\/","url_meta":{"origin":7814,"position":4},"title":":lang()","date":"September 6, 2011","format":false,"excerpt":"The :lang() pseudo class selector in CSS matches elements based on the context of their given language attribute. Language in HTML, is determined by a combination of the lang=\"\" attribute, the element, and by information from the protocol such as the HTTP Accept-Language request-header1 field. Acceptable language-code strings are specified\u2026","rel":"","context":"With 4 comments","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3795,"url":"https:\/\/css-tricks.com\/snippets\/css\/simple-and-nice-blockquote-styling\/","url_meta":{"origin":7814,"position":5},"title":"Simple and Nice Blockquote Styling","date":"September 4, 2009","format":false,"excerpt":"The blockquote displays in standards-compliant browsers with the \"big quotes before\" effect, and in IE with a thick left border and a light grey background. Unlike other blockquote techniques, this style does not require a nested block-level element (like p). As such, it turns a paragraph into an inline-styled element\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/pages\/7814"}],"collection":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/comments?post=7814"}],"version-history":[{"count":5,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/pages\/7814\/revisions"}],"predecessor-version":[{"id":7818,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/pages\/7814\/revisions\/7818"}],"up":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/pages\/3222"}],"wp:attachment":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media?parent=7814"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/tags?post=7814"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}