A CSS oszlopok használata a több oszlopú weboldal elrendezésekhez

Sok éven át a CSS úszók a webes elrendezések létrehozásának finom, mégis szükséges elemei voltak. Ha a tervezése több oszlopot igényelt, akkor lebegett . A probléma ezzel a módszerrel az, hogy annak ellenére, hogy a webes tervezők / fejlesztők hihetetlenül meggyőzőek voltak a komplex webhely-elrendezések létrehozásában, a CSS lebegő soha nem igazán használták ezt a módszert.

Bár az úszók és a CSS pozícionálás sok helyet foglal el a webes tervezésben sok év múlva, az újabb elrendezési technikák, köztük a CSS Grid és a Flexbox most új tervezési lehetőségeket kínálnak a webes tervezők számára. Egy másik új elrendezési technika, amely sok potenciált mutat, CSS több oszlop.

A CSS oszlopok már néhány éve vannak, de a régebbi böngészők (elsősorban az Internet Explorer régebbi verziói) támogatásának hiánya számos webes szakembert tartott a stílusok felhasználásától a termelési munkájuk során.

Az IE régebbi verzióinak támogatása végett néhány internetes tervező kísérletezik az új CSS elrendezési lehetőségekkel, a CSS oszlopokkal együtt, és megállapítják, hogy ezek az új megközelítések sokkal többet tudnak irányítani, mint az úszókkal.

A CSS oszlopok alapjai

Amint a neve is sugallja, a CSS többszörös oszlopok (más néven CSS3 több oszlopú elrendezés) lehetővé teszik a tartalom megosztását meghatározott számú oszlopba. A legegyszerűbb CSS tulajdonságok, amelyeket használni kíván:

Az oszlopok számozásához adja meg a kívánt oszlopok számát. Az oszlop rés lenne a csatornák vagy az oszlopok közötti távolság. A böngésző ezeket az értékeket veszi át, és egyenletesen osztja fel a tartalmat a megadott oszlopok számára.

A gyakorlatban a CSS több oszlopának gyakori példája a szöveges tartalom blokkjának több oszlopba való felosztása, hasonlóan ahhoz, amit egy újságcikkben lát. Mondja meg, hogy a következő HTML-jelölés van (vegye figyelembe, hogy például csak egy bekezdés kezdetét vesszük, míg a gyakorlatban valószínűleg több tartalomtartalom jelenik meg ebben a jelölésben):

A cikk fejléce

Képzeljen el sok szöveget tartalmazó bekezdést ...

Ha ezeket a CSS-stílusokat írta:

.content {-moz-column-count: 3; -webkit-oszlopszám: 3; oszlopszám: 3; -moz-oszlop-rés: 30px; -webkit-oszlop-rés: 30px; oszlop rés: 30px; }

Ez a CSS szabály osztja a "tartalom" osztályt 3 egyenlő oszlopra, 30 képpontnyi rés között. Ha kettő helyett 3 oszlopot szeretne, akkor egyszerűen módosítani fogja ezt az értéket, és a böngésző kiszámítja az oszlopok új szélességét, hogy egyenletesen oszthassa meg a tartalmat. Figyeljük meg, hogy először használjuk a szállító előre meghatározott tulajdonságait, majd a nem előre definiált nyilatkozatokat.

Annyira egyszerű, mint ez, az ilyen módon történő használata megkérdőjelezhető a weboldal használatához. Igen, oszthat meg egy csomó tartalmat több oszlopra, de ez nem feltétlenül a legjobb olvasási élmény a weben, különösen akkor, ha ezeknek az oszlopoknak a magassága a képernyő "hajtogatása" alá esik.

Az olvasóknak ezután felfelé és lefelé kell görgetniük annak érdekében, hogy elolvassák a teljes tartalmat. Mégis, a CSS oszlopok főkönyve olyan egyszerű, mint itt, és többet is használhat, mint hogy egyes bekezdések tartalmát megoszthassa - valóban használható az elrendezéshez.

Elrendezés CSS oszlopokkal

Mondja meg, hogy van egy olyan webes oldala, amelynek tartalma három oszlopból áll. Ez egy nagyon tipikus weboldal elrendezés, és a 3 oszlop elérése érdekében normál esetben úszni fogsz a felosztásban. A CSS több oszlopával sokkal könnyebb.

Itt van néhány minta HTML:

Legfrissebb hírek

A tartalom itt ...

<

Közelgő események

A tartalom itt megy ... p>

A CSS, hogy ezeket a több oszlopot elkezdje a korábban látott lépésekkel:

.content {-moz-column-count: 3; -webkit-oszlopszám: 3; oszlopszám: 3; -moz-oszlop-rés: 30px; -webkit-oszlop-rés: 30px; oszlop rés: 30px; }

Most a kihívás az, hogy mivel a böngésző egyenletesen szeretné megosztani ezt a tartalmat, ezért ha ezeknek a megosztásoknak a tartalmi hossza eltérő, akkor a böngésző ténylegesen felosztja az egyes részleg tartalmát, hozzáadva egy oszlopba és majd folytatódik egy másikba (ez a kód használatával kísérletet futtathat, és különböző részhalmazokat tölthet be az egyes részlegek között).

Ez nem az, amit akarsz. Azt akarja, hogy mindegyik részosztály különálló oszlopot hozzon létre, és függetlenül attól, hogy milyen nagy vagy kicsi az egyes részlegek tartalma, soha nem kívánja megosztani. Ezzel elérheti ezt a CSS további sorát:

.content div {display: inline-block; }

Ez kényszeríti majd a "tartalom" belsejében lévő megosztottságokat, még akkor is, ha a böngésző több oszlopra osztja a tartalmat. Még jobb, hiszen nem adtunk meg semmit itt egy rögzített szélességű, ezek az oszlopok automatikusan átméretezik, ahogy a böngésző átméretezi, és így ideális alkalmazást kínál az érzékeny weboldalak számára . Ezzel az "inline-blokk" stílusgal a 3 részleg mindegyike külön tartalom oszlop lesz.

Oszlop-szélesség használata

Az "oszlopszámlálás" mellett egy másik tulajdonság is létezik, és az elrendezési igényektől függően valóban jobb választás lehet a webhelyén. Ez "oszlopszélesség". Ugyanazt a HTML-jelölést használva, mint azt korábban bemutattuk, ezt a CSS segítségével tehetjük meg:

.content {-moz-oszlopszélesség: 500px; -webkit-oszlopszélesség: 500px; oszlopszélesség: 500px; -moz-oszlop-rés: 30px; -webkit-oszlop-rés: 30px; oszlop rés: 30px; } .content div {display: inline-block; }

Ennek módja, hogy a böngésző ezt az "oszlopszélességet" használja az oszlop maximális értékeként. Tehát ha a böngészőablak kevesebb, mint 500 képpont széles, akkor ez a három rész egy oszlopban jelenik meg, amely egy másik tetején található. Ez egy tipikus elrendezés, amelyet mobil / kisképernyős elrendezésekhez használnak.

Ahogy a böngésző szélessége elég nagy ahhoz, hogy 2 oszlopot illesztsen a megadott oszloptörésekhez, a böngésző automatikusan egy oszlopdiagramból két oszlopba kerül. Növelje a képernyő szélességét, és végül 3 oszlopot kap, mindegyik 3 oszlopban a saját oszlopban jelenik meg. Ismét ez jó módja annak, hogy néhány érzékeny, több eszközzel barátságos elrendezést kapjunk, és nem kell médiafájlokat használni ahhoz, hogy megváltoztassuk az elrendezési stílusokat!

Egyéb oszlopok tulajdonságai

Az itt leírt tulajdonságok mellett vannak olyan tulajdonságok az "oszlopszabályhoz", beleértve a szín-, stílus- és szélességértékeket, amelyek lehetővé teszik az oszlopok közötti szabályok létrehozását. Ezeket a határok helyett használnák, ha szeretné, hogy egyes sorok elválasszák az oszlopokat.

A kísérlet ideje

Jelenleg a CSS többoszlopos elrendezése nagyon jól támogatott. Az előtagokkal a webfelhasználók több mint 94% -a láthatja ezeket a stílusokat, és a nem támogatott csoport valójában csak az Internet Explorer sokkal régebbi verziói lehet, amelyeket egyébként sem támogat.

Ezzel a támogatási szinttel már nincsenek megalapozott indokok, hogy ne kezdjen kísérletezni a CSS oszlopokkal és telepítse ezeket a stílusokat a gyártás kész weboldalakon. A kísérleteket elindíthatja a cikkben bemutatott HTML és CSS használatával, és különböző értékekkel játszhat, hogy megnézze, mi működne legjobban a webhely elrendezési igényeinek megfelelően.