i love having the ability to use css columns in my webpages! they work like a charm for content that needs to flow however it wants to flow. my only problem these days is ie7, ie8, and ie9. so here is how i work around those guys:
first, implement the simple css:
.columns {
-moz-column-count: 2;
-moz-column-gap: 40px;
-moz-column-fill: auto;
-webkit-column-count: 2;
-webkit-column-gap: 40px;
-webkit-column-fill: auto;
column-count: 2;
column-gap: 40px;
column-fill: auto;
}
then, the javascript fallback, which uses columnizer.js (and jquery, too):
$(function () {
if ($.browser.msie && $.browser.version < 10) { //ie10 supports css3 multi-columns
$('.columns').columnize({
columns: 2,
});
}
});
and that's it! ie7 may have other problems, but for this week's project i am only fixing what takes 5 seconds to fix. this week i'm working on the third site i've needed this for and, for the most part, it's working like a charm. </nerd>
UPDATE 5/28/2013
i just discovered that $.browser is no longer supported as of jQuery 1.9.1 — but thanks to a reminder from my friend, Bertine, I can still use CSS conditional comments to call the script for IE9 and below within my <head> tag, like so:
<!--[if lt IE 10]>
<script type="text/javascript">
$(function () { //ie10 supports css3 multi-columns
$('.columns3').columnize({
columns: 3,
});
});
</script>
<![endif]-->



Leave a Reply