Krátké shrnutí stylů dělicích čar sloupců a pravidel. Vlastnosti více sloupců CSS3

Jeden z nejvíce nejužitečnější vlastnosti nová specifikace. Pamatujte si, jak moc se musíte snažit vytvořit plochu 3, 4 nebo 5 sloupců stejné šířky v gumovém provedení bez použití tabulek. Přesně tak, pekelné peklo. Nyní to můžete udělat pomocí několika řádků CSS. Pravda, je tu ještě malá muška, ale o tom později.

Jaké nástroje tedy máme k vytvoření vícesloupcového bloku?

Vlastnictví

Popis

počet sloupců počet sloupců počet sloupců: 3;
sloupec-mezera vzdálenost mezi sloupy mezera mezi sloupci: 2em;
šířka sloupce šířka sloupce šířka sloupce: 200px;
sloupcové pravidlo

dělicí čára mezi sloupci (formát záznamu je podobný vlastnosti border)

column-rule: 1px solid #000;
šířka-sloupce-pravidla šířka dělicí čára column-rule-width: 5px;
sloupec-pravidlo-styl styl dělící čáry styl sloupcových pravidel: tečkovaný;
barva sloupce-pravidlo barva dělící čáry barva-sloupce-pravidla: #fff;

Nezapomeňte, že pro prohlížeče Mozilla a webkit je nutné duplikovat vlastnosti s prefixy -webkit- A -moz-.

Myslím, že je jasné, jak s těmito vlastnostmi pracovat. Upozorňuji však na následující. Ve výchozím nastavení je počet sloupců automatický. To znamená, že pokud zadáte šířku sloupce, počet sloupců se vypočítá automaticky.

Nyní pár slov o tom, proč je to potřeba, kde to lze použít a jaká jsou omezení.

V zásadě nás sloupcový počet odkazuje zpět k novinám, přesněji k tisku. Proč se to dělalo? Především je to snadné čtení, protože... Lidské oko nejlépe vnímá řádky textu, které mají průměrně 10 slov. Rozdělení textu do sloupců také umožňuje lépe organizovat obsah a snížit počet volné místo na stránce.

Aplikace

K čemu lze tuto nemovitost využít? tomu věřím optimální využití Zvažovat lze následující: na stránkách s velkým středovým polem můžete text rozdělit do sloupců. Výhoda je, že když se neoddělí, tak se z toho nic hrozného nestane.

Jako druhé místo k použití bych navrhl nějaké masivní vertikální menu, kde jsou potřeba bloky stejné šířky. Pokud však počet sloupců nefunguje, dojde k záseku.

Omezení

    Nelze nastavit vlastnosti jednotlivého sloupce, jako je pozadí a šířka, takže vlastnost zatím nelze použít pro rozložení webu

    Pokud nastavíte výšku sloupce, pak pokud je textu hodně, přidají se další sloupce. aby se to vešlo. Ale naštěstí je to ošetřeno přes přetečení: skryté.

    Pokud je blok rozdělen do sloupců a je zadáno pravidlo sloupce, pak když je text umístěn do jednoho sloupce, prohlížeče webkit zobrazí dělicí čáru, ale prohlížeče podobné Mozille ne.

    Existují další dvě vlastnosti, které jsou ve specifikaci, ale nejsou podporovány žádným prohlížečem. Toto je zalomení sloupce, které lze použít k určení, kdy má začít další sloupec ( .container h3 ( column-break-before:always; )). Druhou vlastností je column-span, která umožňuje zobrazit prvek napříč všemi sloupci, například nadpis ( .container h1 ( column-span:all; )).

    Tyto vlastnosti, které jsou k dispozici, donkey vůbec nepodporuje, nemluvě o některých dalších variantách a verzích prohlížeče (zdá se, že problémy s Operou). Sice je tu pokus napsat plugin pro osla, ale nazval bych to nejlepší scénář beta. Tím se však autor netají ().

To je pro dnešek vše. Je škoda, že vlastnost není podporována všemi a neexistují žádné hacky. I když největší škoda je, že funkcionalita ještě není plně dostupná a tuto metodu zatím nelze považovat za další z řady pro tvorbu vícesloupcových layoutů. Nezbývá než doufat, že si to konsorcium pečlivě rozmyslí.

CSS3 sloupce je koncept rozvržení s více sloupci, který umožňuje rozdělit obsah do sloupců. Sloupce mohou obsahovat nadpisy, text, tabulky, obrázky a jakékoli další vložené prvky.

Vytváření vícesloupcových značek pomocí modelu CSS3 columns

Podpora prohlížeče

TJ: 10.0
Firefox: 9,0 -moz-
Chrome: 4.0 -webkit-
Safari: 3.0 -webkit-
Opera: 11.1, 15.0 -webkit-
iOS Safari: 9, 7.1 -webkit-
Opera Mini: 8
Prohlížeč Android: 2.1 -webkit-
Chrome pro Android: 44 -webkit-

1. Počet sloupců počet sloupců

Vlastnost umožňuje explicitně nastavit požadovaný počet sloupců a jejich šířka bude vypočítána na základě šířky dostupný prostor. Ve výchozím nastavení prohlížeč přidává mezi sloupce vodorovnou mezeru 1 m. Pokud je šířka obrázku větší než šířka sloupce, bude oříznut. Pokud je zadána šířka sloupce současně s hodnotou column-count , bude sloupec-count považován za maximální počet sloupců. Nemovitost se nedědí.

Syntax

Sekce ( -webkit-column-count: 3; -moz-column-count: 3; column-count: 3; )
Rýže. 1. Příklad vícesloupcového uspořádání

2. Šířka sloupce šířka sloupce

Tato vlastnost umožňuje rozdělit obsah do sloupců bez nastavení vlastnosti column-count. Počet sloupců bude záviset na počtu sloupců daná šířka vejde se do kontejneru. Neděděno.

Syntax

Sekce ( -webkit-column-width: 100px; -moz-column-width: 100px; column-width: 100px; )

3. Šířka prázdného prostoru mezi sloupci sloupec-mezera

Vlastnost řídí mezery mezi sloupci. Pokud nastavíte dělicí čáru pro sloupce pomocí vlastnosti column-rule, bude tato čára umístěna uprostřed mezery a její šířka nezmění celkovou šířku. Nemovitost se nedědí.

Syntax

Sekce ( -webkit-column-gap: 40px; -moz-column-gap: 40px; column-gap: 40px; )
Rýže. 2. Mezery mezi sloupci

4. Umístění prvku na několik sloupů s rozpětím sloupů

Vlastnost určuje počet sloupců, které budou protínat vybraný prvek. Není uvedeno pro kontejnerový blok, ale pro konkrétní prvek uvnitř, například pro titul.

Pokud chcete, aby se obrázek roztáhl přes všechny sloupce, nastavte img (display: block; -webkit-column-span: all; column-span: all;) . Nemovitost se nedědí.

Syntax

H1 ( -webkit-column-span: all; column-span: all; ) Rýže. 3. Umístění nadpisu na všechny sloupce

5. Styl dělicí čáry ve stylu sloupcového pravidla

Vlastnost vytváří prázdný prostor uvnitř mezi sloupci svislý pruh- dělicí čára. Pokud není zadaná barva čáry, některé efekty se nezobrazí. Neděděno.

Hodnoty:
žádný Výchozí hodnota znamená žádný řádek. Barva a šířka zadané pro čáru jsou ignorovány.
skrytý Stejně jako u hodnoty none je řádek skrytý.
tečkovaný Zobrazí čáru jako sadu čtvercových bodů.
čárkovaná Zobrazí čáru jako posloupnost pomlček.
solidní Běžná linka.
dvojnásobek Zobrazuje dělicí čáru ve formě dvou paralelních tenkých čar umístěných v určité vzdálenosti od sebe. Šířka dělící čáry není určena, ale součet čar a mezery mezi nimi se rovná hodnotě šířky sloupce-pravidla.
drážka Zobrazuje objemovou čáru vtlačenou do plátna. Toho je dosaženo vytvořením stínu dvou barev, jedné tmavší a druhé světlejší.
hřbet Zobrazuje dělicí čáru objemu, tzn. opačný efekt než groove.
vložka Displeje plná čára tmavší barva než specifikovaná barva linky.
začátek Zobrazí plnou čáru s barvou určenou vlastností column-rule-color.
počáteční Nastaví hodnotu vlastnosti na výchozí hodnotu.
zdědit Zdědí hodnotu vlastnosti z nadřazeného prvku.

Syntax

Sekce ( -webkit-column-rule-style: tečkovaný; -moz-column-rule-style: tečkovaný; column-rule-style: tečkovaný; )
Rýže. 4. Styl oddělovací čáry

6. Šířka dělící čáry sloupec-pravidlo-šířka

Vlastnost nastavuje šířku dělící čáry. Nefunguje bez vlastnosti column-rule-style. Neděděno.

Syntax

Sekce ( -webkit-column-rule-style: tečkovaný; -moz-column-rule-style: tečkovaný; column-rule-style: tečkovaný; -webkit-column-rule-width: 10px; -moz-column-rule- šířka: 10px; šířka-sloupce-rule: 10px)
Rýže. 5. Šířka dělicí čáry

7. Barva dělicí čáry sloupec-pravidlo-barva

Vlastnost umožňuje změnit barvu dělící čáry, která zdědí barvu textu. Neděděno.

Syntax

Sekce ( -webkit-column-rule-style: tečkovaný; -webkit-column-rule-width: 5px; -webkit-column-rule-color: #59ACE7; -moz-column-rule-style: tečkovaný; -moz- column-rule-width: 5px; -moz-column-rule-color: #59ACE7;
Rýže. 6. Barva dělící čáry

8. Rychlé shrnutí stylů dělicích čar sloupců a pravidel

Vlastnost umožňuje nastavit tři vlastnosti dělící čáry v jedné deklaraci - column-rule-width , column-rule-style a barva sloupec-pravidlo-barva. Neděděno.

Syntax

Sekce ( -webkit-column-rule: 5px tečkovaný #59ACE7; -moz-column-rule: 5px tečkovaný #59ACE7; column-rule: 5px tečkovaný #59ACE7; )

9. Nastavení sloupců pomocí vlastnosti single columns

Nemovitost je krátká poznámka vlastnosti column-width a column-count , současně nastavuje šířku a počet sloupců. Neděděno.

Syntax

Sekce ( -webkit-columns: 100px 3; -moz-columns: 100px 3; columns: 100px 3; )

Tato vlastnost je součástí zkrácené vlastnosti columns.

Zobrazit všechny vlastnosti s více sloupci: column-count , column-width , column-gap , column-rule , column-span , columns .

Syntax

Selektor ( počet sloupců: číslo | auto; )

Hodnoty

Výchozí hodnota: auto.

Příklady

Příklad

V v tomto příkladu text se rozpadne 3 sloupce(samozřejmě v prohlížečích, které podporují více sloupců, v jiných to bude jen prostý text v jednom sloupci):

#elem ( -webkit-column-count: 3; -moz-column-count: 3; column-count: 3; text-align: justify; )

Výsledek spuštění kódu:

Příklad. Automatická hodnota

V tomto příkladu je šířka sloupce specifikována v 150 pixelů a jejich počet počet sloupců stojí ve významu auto- prohlížeč sám vybere požadovaný počet sloupců a mezeru mezi nimi:

#elem ( -webkit-column-count: auto; -moz-column-count: auto; column-count: auto; -webkit-column-width: 150px; -moz-column-width: 150px; column-width: 150px zarovnat text: zarovnat ;

Výsledek spuštění kódu:

Být nadšencem se stalo jejím společenským postavením a někdy, když ani nechtěla, se stala nadšencem, aby neoklamala očekávání lidí, kteří ji znali. Zdrženlivý úsměv, který neustále hrál na tváři Anny Pavlovny, ač neodpovídal jejím zastaralým rysům, vyjadřoval jako rozmazlené děti neustálé vědomí jejího drahého nedostatku, z něhož nechce, nemůže a nepovažuje za nutné napravovat sebe.

V Uprostřed rozhovoru o politických akcích se Anna Pavlovna rozpálila. Budeme mluvit o použití vlastností CSS3 k vytvoření šablony s více sloupci. Protože se jedná o CSS3, použití jeho vlastností vyžaduje předem pečlivé testování.

Použití více sloupců

Chcete-li vytvořit více sloupců, můžete použít vlastnosti:

  • počet sloupců
  • šířka sloupce

První nastavuje přesný počet sloupců, které mají být na výstupu, a poslední nastavuje šířku každého sloupce. Všechny ostatní parametry sloupce budou určeny dostupnou šířkou.

Používáme HTML značky:

CSS kód bude vypadat takto:

Div (počet sloupců: 3)

nebo takhle:

Div (šířka sloupce: 15em) /* Můžete také použít px */

K dispozici je také krátký záznam:

Div (sloupce: 3 20 em)

V krátká poznámka Můžete nastavit počet sloupců a jejich šířku. V praxi se však zpravidla vyžaduje pouze jedna věc.

Definování sloupců pomocí vlastnosti column-count je vhodnější pro proměnlivé šablony, protože šířka sloupců se přizpůsobí změně šířky obrazovky prohlížeče.

Sloupové kontejnery

Použití vlastností column-count nebo column-width způsobí vytvoření nového kontejneru mezi vnější prvek a obsah. Říká se tomu sloupcový kontejner, i když nemůžete změnit jeho vlastnosti.

Sloupce jsou zarovnány do řady. Všechny sloupcové kontejnery v řadě budou mít stejnou výšku, i když se jejich obsah může výrazně lišit.

Pokud necháte prvek plavat ve sloupcovém kontejneru, bude omezen na sloupcový kontejner a ne na vnější kontejner. Fungovat bude i nastavení šířky sloupcového prvku v % – šířka se bude počítat ze šířky sloupcového kontejneru, nikoli vnějšího kontejneru.

Mezery a oddělovače sloupců

Nad reproduktory je malá kontrola. Mezery mezi sloupci můžeme nastavit pomocí vlastnosti column-gap. Ve výchozím nastavení je vlastnost column-gap nastavena na 1em.

Div (mezera mezi sloupci: 2 em)

Svislý oddělovač můžete také nastavit pomocí vlastnosti column-rule:

Div (pravidlo sloupce: tenké plné #ccc)

Krátký záznam může být reprezentován 3 vlastnostmi, které fungují stejně jako při definování rámců prvků:

  • šířka-sloupce-pravidla
  • sloupec-pravidlo-styl
  • barva sloupce-pravidlo

Vzdálenost je stejná jako výška kontejneru kolony a separátor je umístěn ve středu rozteče. Mezera a oddělovač mají stejnou výšku. Pokud sloupec nemá žádný obsah, oddělovač mezi ním a sousedními sloupci se nezobrazí.

Výplň a rozpětí sloupců

Pravděpodobně nebudete moc často používat vlastnost column-fill k určení, jak mají být sloupce vyplněny. Toto je způsob, jak sdělit prohlížečům, kolik obsahu mají umístit do jednotlivých sloupců.

Můžete použít auto (výchozí) nebo vyvážení, které přinutí prohlížeč, aby se snažil vyplnit sloupce rovnoměrně. V praxi mezi výsledky použití těchto hodnot není velký rozdíl.

Sada rozpětí pomocí vlastnosti column-span je výrazně větší užitečné nastavení. To umožňuje HTML prvek natáhnout přes několik sloupů. Na obrázku výše používá záhlaví přesně tuto vlastnost.

H2 (rozpětí sloupců: vše)

Existují pouze dvě možné hodnoty - all (all) nebo none (nothing). Nebudete moci použít 2 ze 3 sloupců.

Přerušení reproduktoru

Existují tři podobné vlastnosti, které lze použít k přerušení obsahu ve sloupci kolem prvku.

  • K prvku - přestávka před:
  • V prvku - vloupání dovnitř: auto | vždy | vyhnout se | vlevo | vpravo | strana | sloupec | vyhýbat se stránce | vyhnout se sloupci
  • Po prvku - přestávka po: auto | vyhnout se | vyhýbat se stránce | vyhnout se sloupci

Definice použitých hodnot:

  • auto— Generování nebo zákaz zalomení stránek/sloupců je zakázáno.
  • vždy
  • vyhnout se— Zakázat zalomení stránek/sloupců.
  • vlevo— Vygenerujte jeden nebo dva konce stránek tak, aby další stránka ve formátu stránky vlevo.
  • právo- Vygenerujte jeden nebo dva konce stránek, aby další stránka byla formátována jako stránky napravo
  • strana- Vždy generujte konec stránky.
  • sloupec- Vždy generujte zalomení sloupce.
  • vyhýbat se stránce— Zakázat konce stránek.
  • vyhnout se sloupci— Zakázat zlomy sloupců.

Smyslem všech těchto vlastností a hodnot je zajistit, aby určitý obsah začínal v novém sloupci.

Pokud obrázek nebo souvislé slovo překročí šířku sloupce, bude uprostřed prostoru, kde je umístěn oddělovač, oříznuto.

Je možné omezit sloupce tak, aby prvek měl více sloupců, než je prostor pro výstup:

  • Omezení výšky sloupce může mít za následek vznik dalších sloupců, spíše než poskytnutí dostatečného prostoru pro výstup.
  • Omezení velikosti stránky může způsobit přesunutí dalších sloupců na další stránku.
  • Zadání konce sloupce může způsobit přídavný sloupec bude výstup mimo dostupný výstupní prostor nebo na další stránce.

Závěr

Vlastnosti CSS3 pro vytváření šablony s více sloupci se mohou stát skvělý nástroj. Jejich použití ale vyžaduje pečlivou kontrolu podpory v různých prohlížečích.

S jejich pomocí se můžete změnit vzhled stávající projekt bez zásadních změn ve struktuře.




Nahoru