S rostoucí rozmanitostí velikosti monitorů není praktické navrhnout jednotlivé bloky textu, které by zabíraly celou šířku obrazovky. Tradičním řešením je rozdělení textu na sloupce ručně, což je velmi časově náročné; nebo rozdělit text dynamicky pomocí jazyka JavaScript, který nefunguje univerzálně. Kromě toho se jedná o problém s prezentací, měli bychom být schopni to stylovat s CSS bez použití mřížkových systémů nebo plaveb, neměli bychom?
CSS3 ve skutečnosti poskytuje způsob, jak stylovat váš text do různých sloupců, dokonce vám dává možnost nastavit žlab - prostor mezi těmito sloupci - tímto způsobem máte plnou kontrolu namísto rámce nebo mřížkového systému, který tyto mezery pro vás .
Nejlepší ze všech je, že CSS3 se laskavě degraduje, takže pokud někdo prohlíží Netscape Navigator, vaše stránky se nebudou rozbít.
Je důležité si uvědomit, že zatímco všechny současné prohlížeče podporují více sloupců v CSS3 - ano i IE10 - mnoho novějších verzí - např. IE9 - ne. Přestože podpora je dobrá, budete chtít zahrnout předpony prohlížeče pro webkit (-webkit-) a mozilla (-moz-). Není třeba zahrnout -ms- nebo -o- pro IE a Opera, neboť buď tuto funkci plně podporují, nebo vůbec ne.
Tato vlastnost CSS ve skutečnosti nabízí několik vlastností, které vám umožňují plnou kontrolu nad tím, jak se váš obsah vytiskne v prohlížeči a tyto vlastnosti jsou:
Se všemi těmito vlastnostmi si nemyslím, že potřebujeme cokoli jiného, abychom měli plnou kontrolu nad našimi sloupci. Samozřejmě, že všechny tyto vlastnosti nejsou nutné pro práci s více sloupci, je skutečně zapotřebí pouze počet sloupců, ale vždy byste měli také použít mezery pro sloupce, aby text měl malý prostor a neměl všechny sloupce jeden nad druhým.
K tomu, aby to bylo provedeno, se jedná pouze o dva řádky kódu:
/* This will produce a 3 column layout with a gap of 20px between each column */.cols3 {column-count: 3;column-gap: 20px;}
Chcete-li také pravidlo použít ve sloupcích, stačí přidat další vlastnosti:
/* This will produce a 3 column layout and a gap of 20px between each column and a rule of 1px solid black */.cols3 {column-count: 3;column-gap: 20px;column-rule-width: 1px;column-rule-style: solid;column-rule-color: #000;}
Stejně jako obyčejnější hraniční vlastnost můžete také barvu, styl a šířku stohovat ve stejném řádku, například:
.cols3 {column-count: 3;column-gap: 20px;column-rule: 1px solid #000;}
Pokud máte záhlaví a chcete, aby záhlaví zahrnovalo všechny sloupce, které jste přidali pouze jedním řádkem:
/*This h1 will take up the space of the 3 columns*/.cols3 h1{column-span: all;}
Můžete je aplikovat na prakticky libovolný HTML, z jednoho odstavce na více
Skočit na sloupce CSS má podle mého názoru mnoho výhod, není potřeba používat mnoho matematických, plovoucích nebo obsahu, když se prohlížeč změní na uživatele. Můžete také napsat svůj kód mnohem více sémanticky a protože jsou podporovány všemi hlavními prohlížeči, měli byste zvážit použití sloupců od tohoto okamžiku.
Máte stylové sloupce s CSS3, nebo se držíte na plovácích a polohování? Jaké tipy máte pro zpracování starších prohlížečů? Dejte nám vědět v komentářích.
Doporučený snímek / náhled, sloupec obrázek přes Shutterstock.