Przy coraz większej różnorodności rozmiarów monitorów nie jest praktyczne tworzenie pojedynczych bloków tekstu zajmujących całą szerokość ekranu. Tradycyjnym rozwiązaniem jest ręczne rozdzielanie tekstu na kolumny, co jest bardzo czasochłonne; lub dynamicznie dzielić tekst za pomocą JavaScriptu, który nie działa uniwersalnie. Poza tym jest to problem z prezentacją, powinniśmy być w stanie nadać mu styl CSS bez użycia systemów gridowych, czy nie powinniśmy?
CSS3 w rzeczywistości zapewnia sposób na dopasowanie tekstu do różnych kolumn, daje nawet możliwość ustawienia rynny - przestrzeni między tymi kolumnami - w ten sposób masz pełną kontrolę zamiast systemu ramowego lub siatki ustawiając te luki dla siebie .
Najlepszy ze wszystkich, CSS3 pogarsza się z gracją, więc jeśli ktoś przegląda Netscape Navigatora, twoja strona nie zostanie zerwana.
Ważne jest, aby pamiętać, że chociaż wszystkie obecne przeglądarki obsługują wiele kolumn w CSS3 - tak, nawet IE10 - na przykład wiele najnowszych wersji - na przykład IE9 - nie. Mimo że wsparcie jest dobre, będziesz potrzebować prefiksów przeglądarki dla webkita (-webkit-) i mozilla (-moz-). Nie ma potrzeby dołączania opcji -ms- lub -o- do IE i Opery, ponieważ albo obsługują tę funkcję w całości, albo wcale jej nie obsługują.
Ta funkcja CSS zapewnia w rzeczywistości kilka właściwości zapewniających pełną kontrolę nad sposobem drukowania zawartości w przeglądarce i następujące właściwości:
Przy tych wszystkich właściwościach nie potrzebujemy niczego innego, aby mieć pełną kontrolę nad naszymi kolumnami. Oczywiście nie wszystkie z tych właściwości są konieczne, aby układ wielokolumnowy działał, w rzeczywistości wystarczy tylko kolumna, ale zawsze należy również użyć luki między kolumnami, aby nadać tekstowi trochę miejsca i nie mieć wszystkich kolumn jeden na drugim.
Aby zastosować to w praktyce, zajmuje to tylko dwa wiersze kodu:
/* This will produce a 3 column layout with a gap of 20px between each column */.cols3 {column-count: 3;column-gap: 20px;}
Jeśli chcesz zastosować regułę do kolumn, wystarczy dodać dodatkowe właściwości:
/* 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;}
Podobnie jak bardziej typowa właściwość border, możesz także ustawić kolor, styl i szerokość w jednym wierszu, jak na przykład:
.cols3 {column-count: 3;column-gap: 20px;column-rule: 1px solid #000;}
Jeśli masz nagłówek i chcesz, aby nagłówek obejmował wszystkie kolumny, aby dodać jedną linię:
/*This h1 will take up the space of the 3 columns*/.cols3 h1{column-span: all;}
Możesz zastosować to do praktycznie dowolnego kodu HTML, od pojedynczego akapitu do wielu
Przeskakiwanie do kolumn CSS ma w moim przekonaniu wiele zalet, nie ma konieczności korzystania z wielu matematycznych, pływających elementów lub treści, które łamią się po zmianie rozmiaru przeglądarki przez użytkownika. Możesz również napisać swój kod w znacznie bardziej semantyczny sposób, a ponieważ są one obsługiwane przez wszystkie główne przeglądarki, powinieneś rozważyć użycie kolumn od teraz.
Czy stylizujesz kolumny za pomocą CSS3, czy trzymasz się elementów pływających i pozycjonowania? Jakie masz rady dotyczące obsługi starszych przeglądarek? Daj nam znać w komentarzach.
Wyróżniony obraz / miniatura, obraz kolumn przez Shutterstock.