Samotné tabulky vypadají dost chudě a prohlížeče svým způsobem zobrazují některé charakteristiky tabulek, zejména rámce. Tyto nedostatky lze přitom snadno napravit využitím síly stylů. Zároveň jsou značně rozšířeny prostředky pro navrhování tabulek, což umožňuje úspěšně zasadit tabulky do návrhu webu a přehledněji prezentovat tabulková data.
Barva pozadí buňky
Barva pozadí všech buněk tabulky současně se nastavuje pomocí vlastnosti pozadí, která se aplikuje na selektor TABULKA. V tomto případě byste si měli pamatovat pravidla pro používání stylů, zejména dědičnost vlastností prvků. Přestože se vlastnost pozadí nedědí, výchozí hodnota pozadí pro buňky je transparentní, tzn. průhlednost, takže efekt výplně pozadí je získán také pro buňky. Pokud současně s TABLE nastavíte barvu pro volič TD nebo TH, bude tato barva nastavena jako pozadí buňky (příklad 2.3).
Příklad 2.3. Barva pozadí
Nadpis 1 | Nadpis 2 |
---|---|
Buňka 3 | Buňka 4 |
V tomto příkladu získáme modrou barvu pozadí buněk (tag
Výsledek tohoto příkladu je znázorněn na Obr. 2.4.
Rýže. 2.4. Změna barvy pozadí
Okraje uvnitř buněk
Okraj je vzdálenost mezi okrajem obsahu buňky a jejím okrajem. Obvykle se pro tento účel používá atribut cellpadding značky.
Nadpis 1 | Nadpis 2 |
---|---|
Buňka 3 | Buňka 4 |
V tomto příkladu seskupením voličů jsou pole nastavena současně pro voliče TD a TH. Výsledek příkladu je na Obr. 2.5.
Rýže. 2.5. Pole v buňkách
Pokud je vlastnost padding style aplikována na buňky tabulky, pak účinek atributu cellpadding značky
Leonardo | 5 | 8 |
Raphael | 4 | 11 |
Michelangelo | 24 | 9 |
Donatello | 2 | 13 |
Výsledek tohoto příkladu je znázorněn na Obr. 2.6.
Rýže. 2.6. Zobrazení tabulky při použití ohraničení
Internet Explorer verze 7 a vyšší nepodporuje vlastnost border-spacing, takže tabulky v tomto prohlížeči budou používat výchozí hodnotu cellpacing (obvykle 2px).
Při přidávání vlastnosti border-collapse s hodnotou sbalení do selektoru TABLE je atribut cellpacing ignorován a hodnota border-spacing je resetována na nulu.
Hranice a rámečky
Ve výchozím nastavení není v tabulce zpočátku žádné ohraničení a jeho přidání se provádí pomocí atributu border značky
Nadpis 1 | Nadpis 2 |
---|---|
Buňka 3 | Buňka 4 |
Tento příklad používá černé dvojité ohraničení kolem samotné tabulky a plné bílé ohraničení kolem každé buňky. Výsledek příkladu je na Obr. 2.7.
Rýže. 2.7. Ohraničení kolem stolu a buněk
Upozorňujeme, že v místě spojení buněk se tvoří dvojité čáry. Získávají se opět díky působení atributu cellpacing tagu
Nadpis 1 | Nadpis 2 |
---|---|
Buňka 3 | Buňka 4 |
Tento příklad vytvoří plnou zelenou čáru mezi buňkami a černou čáru kolem tabulky. Všechny okraje v tabulce mají stejnou tloušťku. Výsledek příkladu je na Obr. 2.8.
Rýže. 2.8. Ohraničení kolem stolu
Zarovnání obsahu buňky
Ve výchozím nastavení je text v buňce tabulky zarovnán doleva. Výjimkou z tohoto pravidla je tag
Příklad 2.8. Zarovnat obsah buňky vodorovně
XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx
Nadpis 1 | Buňka 1 | Buňka 2 |
---|---|---|
Nadpis 2 | Buňka 3 | Buňka 4 |
V tomto příkladu obsah značky
Rýže. 2.9. Zarovnání textu v buňkách
Svislé zarovnání v buňce je vždy na střed, pokud není uvedeno jinak. To není vždy vhodné, zejména u tabulek, jejichž obsah buněk se liší výškou. V tomto případě je zarovnání nastaveno k hornímu okraji buňky pomocí vlastnosti vertical-align, jak ukazuje příklad 2.9.
Příklad 2.9. Zarovnejte obsah buňky svisle
XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx
Nadpis 1 | Nadpis 2 |
---|---|
Buňka 1 | Buňka 2 |
Tento příklad nastavuje výšku záhlaví
Rýže. 2.10. Zarovnání textu v buňkách
Prázdné buňky
Prohlížeče zobrazují buňku, ve které není nic, jinak. „Nic“ v tomto případě znamená, že do buňky nebyl přidán obrázek ani text a prostor se nebere v úvahu. Vzhled buněk se přirozeně liší pouze tehdy, je-li kolem nich nastaveno ohraničení. Při použití neviditelného ohraničení je vzhled buněk, bez ohledu na to, zda v nich něco je nebo není, stejný.
Starší prohlížeče nezobrazovaly barvu pozadí prázdných buněk zobrazení
Éra jednopixelových kreseb a na nich založených všemožných spacerů naštěstí pominula. Prohlížeče celkem korektně pracují s tabulkami i bez přítomnosti obsahu buněk.
Chcete-li ovládat vzhled prázdných buněk, použijte vlastnost empty-cells; při nastavení na skrytí se v prázdných buňkách nezobrazí ohraničení a pozadí. Pokud jsou všechny buňky v řádku prázdné, je celý řádek skrytý. Buňka je považována za prázdnou v následujících případech:
- neexistují vůbec žádné symboly;
- buňka obsahuje pouze nový řádek, tabulátor nebo mezeru;
- viditelnost je nastavena na skryté .
Přidání nepřerušitelné mezery je vnímáno jako viditelný obsah, tzn. buňka již nebude prázdná (příklad 2.10).
Příklad 2.10. Prázdné buňky
XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx
Leonardo | 5 | 8 |
Raphael | 11 | |
Michelangelo | 24 | |
Donatello | 13 |
Zobrazení tabulky v prohlížeči Safari je na Obr. 2.11a. Stejná tabulka v prohlížeči IE7 je na Obr. 2.11b.
A. V prohlížeči Safari, Firefox, Opera, IE8, IE9
b. V prohlížeči IE7
Rýže. 2.11. Pohled na tabulku s prázdnými buňkami
Specifikace CSS dává neomezené možnosti pro navrhování tabulek. Ve výchozím nastavení nemají buňky tabulky a tabulky žádné viditelné okraje ani pozadí a buňky v tabulce spolu nesousedí.
Šířka buněk tabulky je určena šířkou jejich obsahu, takže šířka sloupců tabulky se může lišit. Výška všech buněk v řadě je stejná a je určena výškou nejvyšší buňky.
Formátování tabulek
1. Hranice tabulky
Ve výchozím nastavení se tabulka a buňky v ní v prohlížeči zobrazují bez viditelných okrajů. Hranice stolu jsou specifikovány vlastností border:
Tabulka ( border-collapse: sbalit; /*odstranit prázdná místa mezi buňkami*/ ohraničení: 1px plná šedá; /*nastavit vnější okraj tabulky na šedou barvu o tloušťce 1px*/ )
Ohraničení buňky záhlaví každý sloupec je určen pro th prvek:
Th (ohraničení: 1px plná šedá;)
Hranice buněk těla tabulek jsou určena pro prvek td:
Td (ohraničení: 1px plná šedá barva;)
Tloušťka okrajů sousedních buněk není zdvojnásobena, takže můžete nastavit okraje pro celou tabulku následujícím způsobem:
Th, td (ohraničení: 1px plná šedá;)
Vnější okraj tabulky můžete zvýraznit zvětšením šířky:
Tabulka (ohraničení: 3px plné šedé;)
Hranice lze nastavit částečně:
/* nastavit šedý vnější okraj o tloušťce 3px pro tabulku */ tabulka (border-top: 3px plná šedá; ) /* nastavit šedý okraj o tloušťce 1px pro buňku těla tabulky */ td (border-bottom: 1px solid šedá;)
Můžete si přečíst více o vlastnosti border.
2. Jak nastavit šířku a výšku stolu
Výchozí šířka a výška stolu určeno obsahem jeho buněk. Pokud není šířka zadána, bude se rovnat šířce nejširšího řádku (řádku).
Šířka tabulky a sloupce se nastavuje pomocí vlastnosti width. Pokud je pro tabulku zadána tabulka (šířka: 100%;), bude šířka tabulky rovna šířce bloku kontejneru, ve kterém se nachází.
Šířka tabulky a sloupců se obvykle uvádí v px nebo %, například:
Tabulka (šířka: 600px;) th (šířka: 20 %;) td:první dítě (šířka: 30 %;)
Výška stolu nespecifikováno. Výška řádku s tabulkami lze manipulovat přidáním horní a spodní výplně k prvkům
Th, td (odsazení: 10px 15px;)
3. Jak nastavit pozadí tabulky
Výchozí pozadí stolu a buňky jsou průhledné. Pokud má stránka nebo blok obsahující tabulku pozadí, zobrazí se v tabulce. Pokud je pozadí určeno pro tabulku i buňky, pak v místech, kde se pozadí tabulky a buněk překrývá, bude viditelné pouze pozadí buněk. Pozadí tabulky jako celku a jejích buněk může být:
plnicí,
,
.
4. Sloupce tabulky
Model tabulky CSS je zaměřen především na řádky (řádky) tvořené pomocí značky
pomocí značky
Můžete nastavit pozadí pro libovolný počet sloupců;
pomocí selektorové tabulky td:first-child , table td:last-child můžete nastavit styly pro první nebo poslední sloupec tabulky (kromě první buňky záhlaví tabulky);
Pomocí selektoru tabulky td:nth-child (pravidlo pro výběr sloupců) můžete nastavit styly pro libovolné sloupce tabulky.
Můžete si přečíst více o selektorech CSS.
5. Jak přidat název tabulky
Do tabulky můžete přidat název pomocí značky
Společnost | Q1 | Q2 | Q3 | Q4 |
---|
![](https://i0.wp.com/html5book.ru/wp-content/uploads/2014/06/caption_side.png)
6. Jak odstranit mezeru mezi rámečky buněk
Ve výchozím nastavení jsou rámečky buněk tabulky odděleny malou mezerou. Pokud pro tabulku nastavíte border-collapse: Collapse, bude mezera odstraněna. Nemovitost se dědí.
Syntax
Tabulka (border-collapse: kolaps;) Rýže. 3. Příklad tabulek se slučováním a samostatnými rámečky buněk
7. Jak zvětšit prostor mezi rámečky buněk
Pomocí vlastnosti border-spacing můžete změnit vzdálenost mezi rámečky buněk. Tato vlastnost platí pro tabulku jako celek. Zděděno.
Syntax
Tabulka (border-collapse: samostatné; border-spacing: 10px 20px;) tabulka (border-collapse: samostatné; border-spacing: 10px;) Rýže. 4. Příklad tabulek se zvětšenými mezerami mezi rámečky buněk
8. Jak skrýt prázdné buňky tabulky
Vlastnost empty-cells skryje nebo zobrazí prázdné buňky. Ovlivňuje pouze buňky, které neobsahují žádný obsah. Pokud je buňka nastavena na pozadí a tabulka je nastavena na tabulku (border-collapse: kolaps;) , buňka nebude skryta. Zděděno.
Společnost | Q1 | Q2 | Q3 |
---|---|---|---|
Microsoft | 20.3 | 30.5 | |
50.2 | 40.63 | 45.23 |
![](https://i0.wp.com/html5book.ru/wp-content/uploads/2014/06/table_empty.png)
9. Rozvržení tabulky pomocí vlastnosti table-layout
Rozvržení tabulky je určeno jedním ze dvou přístupů: pevným rozložením nebo automatickým rozložením. V tomto případě rozložení odkazuje na to, jak je šířka tabulky rozdělena mezi šířky buněk. Nemovitost se nedědí.
Syntax
Stůl (rozložení stolu: pevné;)
10. Nejlepší rozložení tabulek
1. Horizontální minimalismus
Vodorovné tabulky jsou tabulky, ve kterých se text čte vodorovně. Každá entita je samostatný řádek. Tabulkám, jako je tato, můžete dát minimalistický vzhled umístěním dvoupixelového ohraničení pod záhlaví.
Zaměstnanec | Plat | Bonus | Dozorce |
---|---|---|---|
Stephen C. Cox | $300 | $50 | Bobe |
Josephine Tan | $150 | - | Annie |
Joyce Ming | $200 | $35 | Andy |
James A. Pentel | $175 | $25 | Annie |
Pokud existuje velký počet řádků, tento návrh tabulky ztěžuje jejich čtení. Chcete-li tento problém vyřešit, můžete pod všechny prvky td přidat jednopixelové ohraničení.
Td ( border-bottom: 1px solid #ccc; color: #669; padding: 9px 8px; transition: .3s linear; )/*zbytek kódu je jako v příkladu výše*/
Přidání efektu :hover k prvku tr usnadní čtení tabulek navržených v minimalistickém stylu. Když najedete myší na buňku, zbývající buňky ve stejném řádku se současně zvýrazní, což usnadňuje sledování informací, pokud mají tabulky více sloupců.
Th ( váha písma: normální; barva: #039; padding: 10px 15px; ) td ( barva: #669; border-top: 1px solid #e8edff; padding: 10px 15px; ) tr:hover td (pozadí: #e8edff ;)
2. Vertikální minimalismus
Ačkoli se takové tabulky používají zřídka, vertikálně orientované tabulky jsou užitečné pro kategorizaci nebo porovnávání popisů objektů reprezentovaných sloupcem. Můžete je navrhnout v minimalistickém stylu přidáním prostoru pro oddělení sloupců.
Th ( font-weight: normal; border-bottom: 2px solid #6678b1; border-right: 30px solid #fff; border-left: 30px solid #fff; color: #039; padding: 8px 2px; ) td ( border- pravý: 30px plný #fff; okraj-levý: 30px plný #fff; barva: #669; výplň: 12px 2px; )
3. Krabicový styl
Nejspolehlivějším stylem pro navrhování stolů všech typů je takzvaný „krabicový“ styl. Stačí vybrat dobré barevné schéma a poté nastavit barvu pozadí pro všechny buňky. Nezapomeňte zdůraznit rozdíl mezi řádky nastavením ohraničení jako oddělovače.
Th ( font-size: 13px; font-weight: normal; background: #b9c9fe; border-top: 4px solid #aabcfe; border-bottom: 1px solid #fff; color: #039; padding: 8px; ) td ( background : #e8edff; border-bottom: 1px solid #fff; color: #669; border-top: 1px solid transparent; padding: 8px; ) tr:hover td (background: #ccddff;)
Nejtěžší je najít barevné schéma, které bude harmonicky ladit s vaším webem. Pokud je web náročný na grafiku a design, bude pro vás použití tohoto stylu docela obtížné.
Tabulka ( rodina písem: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif; velikost písma: 14px; maximální šířka: 70 %; šířka: 70 %; zarovnání textu: na střed; sbalení ohraničení: sbalení ; border-top: 7px solid #9baff1; border-bottom: 7px solid #9baff1; ) th ( font-size: 13px; font-weight: normal; background: #e8edff; border-right: 1px solid #9baff1; border- left: 1px solid #9baff1; color: #039; padding: 8px; ) td ( background: #e8edff; border-right: 1px solid #aabcfe; border-left: 1px solid #aabcfe; color: #669; padding: 8px ;)
4. Horizontální zebra
Stůl zebra vypadá docela atraktivně a pohodlně. Další barva pozadí může sloužit jako vizuální vodítko pro lidi při čtení tabulky.
Th ( váha písma: normální; barva: #039; padding: 10px 15px; ) td ( barva: #669; border-top: 1px solid #e8edff; padding: 10px 15px; ) tr:nth-child(2n) ( pozadí: #e8edff ;)
5. Novinový styl
Chcete-li dosáhnout tzv. novinového efektu, můžete na prvky tabulky aplikovat ohraničení a hrát si s buňkami uvnitř. Lehký minimalistický styl novin může vypadat takto: pohrajte si s barevným schématem, přidejte ohraničení, výplň, různá pozadí a efekt vznášení při najetí na čáru.
Tabulka (border: 1px solid #69c;) th ( font-weight: normal; color: #039; border-bottom: 1px dashed #69c; padding: 12px 17px; ) td ( color: #669; padding: 7px 17px; ) tr:hover td (pozadí: #ccddff;)
Tabulka (ohraničení: 1px plný #69c;) th ( váha písma: normální; barva: #039; odsazení: 10px; ) td ( barva: #669; horní okraj: 1px přerušovaný #fff; odsazení: 10px; pozadí: #ccddff; ) tr:hover td (pozadí: #99bcff;)
Tabulka (ohraničení: 1px plné #6cf;) th ( font-weight: normal; font-size: 13px; color: #039; text-transform: largecase; border-right: 1px solid #0865c2; border-top: 1px solid #0865c2; border-left: 1px plný #0865c2; border-bottom: 1px solid #fff; padding: 20px; ) td (color: #669; border-right: 1px přerušované #6cf; padding: 10px 20px; )
6. Pozadí tabulky
Pokud hledáte rychlý a jedinečný způsob, jak navrhnout stůl, vyberte atraktivní obrázek nebo fotografii, která souvisí s tématem stolu a nastavte jej jako pozadí stolu.
Png") 98 % 86 % bez opakování; ) th ( váha písma: normální; velikost písma: 14px; barva: #339; výplň: 10px 12px; pozadí: bílá; ) td ( barva: #669; ohraničení- nahoře: 1px plná bílá; výplň: 10px 12px; pozadí: rgba(51, 51, 153, .2); přechod: .3s; ) tr:hover td ( pozadí: rgba(51, 51, 153, .1); )
Ahoj všichni! Nyní tedy víte, jak vytvořit elementární tabulky skládající se z tolika řádků a sloupců, kolik je potřeba. Není to špatné, není to špatné. Nyní si povíme něco o designu těchto stolů.
V předchozí lekci byly tabulky zobrazeny bez ohraničení. A vidíte, vypadá to tak, že se tomu ani nedá říkat znamení. Chcete-li vytvořit ohraničení tabulky v HTML, měli byste přidat do značky Udělejme tedy okraje na stůl. Například pro ten, který již máme:
Výsledek v prohlížeči: Chcete-li zase odstranit okraje tabulky HTML, nebo můžete také říci, učinit je neviditelnými, potřebujete atribut okraj nastavená hodnota 0
. Po těchto jednoduchých krocích bude rám odstraněn. Atribut umožňuje vytvářet, ale ne řídit, hranice. Umožňuje pouze měnit jejich tloušťku. Proto nyní budeme mluvit o CSS, jehož vlastnosti umožňují použití okraj vytvořit různé hranice, jak uvnitř každé buňky, tak vnější, kolem stolu jako celku. Podívejme se, jak pomocí CSS vytvořit vnější a vnitřní ohraničení tabulky.
Výsledek v prohlížeči: Nyní do každé buňky také přidáme ohraničení. Chcete-li to provést, jednoduše přidejte styly:
Výsledek v prohlížeči: Souhlasíte s tím, že hranice definovaná pomocí CSS nevypadá tak dobře, jak bychom chtěli. Z estetického hlediska je nepochybně na čem pracovat. Na stránce prohlížeče můžete vidět, že ve výchozím nastavení zobrazuje ohraničení tabulky a buňky odděleně. Příklad to jasně ukazuje. Takových hranic, kterým se říká dvojité, se však můžete úplně zbavit, pokud použijete CSS vlastnost border-collapse. V praxi to vypadá takto: Tabulka ( okraj: plný 1px modrý; border-collapse: sbalit; ) ... V důsledku toho je vzdálenost mezi buňkami odstraněna: Hodnota sbalení přiřazená atributu border umožňuje odstranit dvojité ohraničení. Jak vidíte, výsledkem je sbalení sousedních okrajů buněk, stejně jako rámečků buněk a vnějšího rámečku tabulky. Pokud jde o posledně uvedený, může být zcela odstraněn. A pokud je potřeba jej zobrazit, je třeba zvětšit jeho šířku. Tím jsme se zbavili oddělovačů v tabulce. A v další lekci si povíme, jak můžete nastavit vertikální a horizontální hranice. Hodně štěstí všem! CSS umožňuje nastavit nejen styl ohraničení tabulky, ale také styl ohraničení jednotlivých buněk. Protože každá buňka má své vlastní ohraničení, hranice mezi sousedními buňkami je dvojitá. Ale je možné spojit hranice sousedních buněk do jedné. K tomu existuje vlastnost border-collapse. Nabývá hodnot: border-collapse: samostatné - každá buňka má svůj vlastní okraj (výchozí) border-collapse: kolaps - sdílená hranice border-collapse: inherit - hodnota je převzata z nadřazeného prvku Vytvořme si například tabulku a nastavíme rámeček pro buňky všech tabulek, které budou na stránce. Nejprve nic neměňme, abychom viděli, jak bude tabulka vypadat: Styl: 1
Domácí práce. V této lekci také nebudu popisovat vše podrobně - pouze obecné body. Pro úplnost se podívejte na výsledek příkladu.
atribut okraj, což mu dává jinou hodnotu než nulu.
Buňka vlevo nahoře Pravá horní buňka
Levá dolní buňka Pravá dolní buňka
Jak odstranit okraje tabulky
Chcete-li to provést, odstraňte atribut border z naší tabulky a přidejte styly:
Buňka vlevo nahoře
Pravá horní buňka
Levá dolní buňka
Pravá dolní buňka
Jak odstranit výplň mezi buňkami v tabulce HTML
2
3
4
5
6
pouze k vytvoření čtyř vodorovných tlačítek nabídky v záhlaví stránky. V ostatních případech nechte obrázky jít na pozadí a ve druhých buňkách tabulek se používají pouze barvy a v první a poslední tabulce je to #99FF99.