Neexistuje žádný atribut border označující ohraničení buňky. Nastavíme barvu ohraničení 2. buňky na červenou, přidáme do druhé buňky atribut bordercolor="#FF0000".
Existuje další atribut určený k zarovnání obsahu buněk:
valign – zarovná obsah buněk vertikálně.
Má následující významy:
valign="top" – zarovnat obsah buňky k hornímu okraji;
valign="bottom" – zarovná obsah buňky ke spodnímu okraji;
valign="middle" – zarovnání na střed buňky;
valign="baseline" – zarovná obsah buňky podél základní linie.
Přidejme tyto atributy do každé z našich 4 buněk.
1 - buňka |
2 - buňka |
3 - buňka |
4 - buňka |
Naše tabulka bude vypadat takto:
![](https://i0.wp.com/webmastermix.ru/images/creation-site/lessons-html/creating-tables-in-html/9.png)
Poslední věcí, kterou musíme v tomto tutoriálu probrat, je sloučení buněk tabulky. Aby bylo možné sloučit několik buněk za sebou, existuje atribut colspan="" kde je počet buněk, které je třeba sloučit, uveden v uvozovkách.
Od autora: CSS má selektory pro vyhledání prvků na základě jejich pozice ve stromu dokumentu. Říká se jim indexové pseudotřídy, protože sledují pozici prvku spíše než jeho typ, atributy nebo ID. Je jich celkem pět. :první dítě a :poslední dítě Jak můžete uhodnout z názvu, pseudotřídy :first-child a :last-child vybírají první a poslední potomek v uzlu (prvku). Stejně jako u jiných pseudotříd mají :first-child a :last-child minimální vedlejší účinky při použití jednoduchých selektorů. Zvažte HTML a CSS níže:
:první dítě a:poslední dítě
Seznam ovoce
- jablka
- banány
- Borůvky
- Pomeranče
- Jahody
| <
!
DOCTYPE
html
>
<
html
lang
=
"en-US"
>
<
head
>
<
meta
charset
=
"utf-8"
>
<
title
>: první - dítě a : poslední - dítě<
/
title
>
<
/
head
>
<
body
>
<
h2
>Seznam ovoce<
/
h2
>
<
ul
>
<
li
>jablka<
/
li
>
<
li
>banány<
/
li
>
<
li
>Borůvky<
/
li
>
<
li
>Pomeranče<
/
li
>
<
li
>Jahody<
/
li
>
<
/
ul
>
<
/
body
>
<
/
html
>
|
Snímek obrazovky níže ukazuje výsledek. ![](https://i1.wp.com/webformyself.com/wp-content/uploads/2017/139/1.png) Záhlaví h2 a první li jsou zbarveny růžově, protože:první dítě není vázáno na konkrétní prvky. Značka h2 je prvním potomkem značky body a li je prvním potomkem prvku ul. Ale proč jsou zbývající prvky li zelené? Protože:last-child také není vázán na konkrétní prvek a ul je poslední podřízený prvek ve značce body. Ve skutečnosti jsme ve stylech výše napsali *:první-dítě a *:poslední-dítě. Přidáním jednoduchého selektoru k :first-child a :last-child je upřesníte. Omezme náš výběr pouze na položky seznamu. Nahraďte :first-child za li:first-child a :last-child za li:last-child. Snímek obrazovky níže ukazuje výsledek. ![](https://i0.wp.com/webformyself.com/wp-content/uploads/2017/139/2.png) :nth-child() a :nth-last-child() Umět vybrat první a poslední podřízený prvek v dokumentu není špatný nápad. Co když potřebujete vybrat sudé nebo liché prvky? Možná budeme muset vybrat šestý prvek ve stromu nebo použít styly na každý třetí podřízený prvek. Zde nám pomohou pseudotřídy:nth-child() a:nth-last-child(). Stejně jako :not, :nth-child() a :nth-last-child() jsou také funkční pseudotřídy. Berou jeden argument, který musí být: klíčové slovo zvláštní; klíčové slovo sudé; celočíselnou hodnotu typu 2 nebo 8; argument ve tvaru An+B, kde A je krok, B je posun a n je kladné celé číslo. Poslední argument je o něco složitější než ostatní. Podíváme se na to trochu později. Jaký je rozdíl mezi :nth-child() a :nth-last-child()? Liší se výchozím bodem: :nth-child() počítá dopředu a :nth-last-child() počítá dozadu. CSS indexy používají přirozená čísla a začínají na 1, nikoli na 0. Pomocí pseudo-tříd:nth-child() a:nth-last-child() je vhodné vytvořit střídající se vzory. Pruhovaný stůl je ideálním případem použití. Níže uvedený CSS dává sudým řádkům v tabulce světle modrošedé pozadí, výsledek je vidět na obrázku níže: tr:nth-child(sudé) ( pozadí: rgba(96, 125, 139, 0,1); )
| tr : n-té dítě (sudé) ( pozadí: rgba(96, 125, 139, 0,1);
|
![](https://i0.wp.com/webformyself.com/wp-content/uploads/2017/139/3.png) Pokud přepnete z:nth-child na:nth-last-child, sloupce se obrátí, protože počítání začíná odspodu. Viz snímek obrazovky níže. ![](https://i0.wp.com/webformyself.com/wp-content/uploads/2017/139/4.png) Chcete něco složitějšího, se složitějšími argumenty? Vytvořme dokument s 20 prvky, jak je znázorněno níže. ![](https://i1.wp.com/webformyself.com/wp-content/uploads/2017/139/5.png) Pomocí :nth-child() a :nth-last-child() můžete vybrat jeden konkrétní prvek. Můžete vybrat všechny podřízené prvky za danou pozicí nebo můžete vybrat prvky s násobkem odsazení. Změňme pozadí šestého prvku: Item:nth-child(6) ( background: #e91e63; ) Ještě jednou, A je krok. Toto je faktor pro n začínající na 1. To znamená, že pokud A = 3, pak 3n vybere třetí, šestý a devátý prvek a tak dále. To je přesně to, co je vidět na snímku obrazovky níže. ![](https://i1.wp.com/webformyself.com/wp-content/uploads/2017/139/7.png) Zde je vše trochu zajímavější. Pomocí :nth-child() a :nth-last-child() můžete vybrat všechny prvky po daný bod. Vyberme všechny prvky kromě prvních sedmi: Item:nth-child(n+8) ( background: #e91e63; )
| Položka : n-té dítě (n + 8) ( pozadí : #e91e63;
|
Není zde specifikován žádný krok. Výsledkem je, že n+8 vybere všechny prvky n, počínaje osmým. Viz snímek obrazovky níže. ![](https://i0.wp.com/webformyself.com/wp-content/uploads/2017/139/8.png) Poznámka: záporný offset Záporné hodnoty a rozsahy jsou také platné. Záznam jako:nth-child(-n+8) obrátí výběr a vybere prvních osm prvků. Pomocí offsetu a kroku můžete vybrat každý třetí prvek, počínaje pátým: Item:n-th-child(3n+5) ( background: #e91e63; )
| Položka : n-té dítě (3n + 5) ( pozadí : #e91e63;
|
Výsledek. ![](https://i1.wp.com/webformyself.com/wp-content/uploads/2017/139/9.png) Jedináček Pseudotřída jediného potomka vybere prvek pouze v případě, že se jedná o jediný podřízený prvek. Níže jsou dvě seznam s odrážkami. První má jeden prvek, druhý má tři:
| <
ul
>
<
li
>Jablko<
/
li
>
<
/
ul
>
<
ul
>
<
li
>oranžový<
/
li
>
<
li
>Banán<
/
li
>
<
li
>Malina<
/
li
>
<
/
ul
>
|
Volič li:only-child(color: #9c27b0;) vybere Jablko, protože je jediným potomkem prvního seznamu. Prvky druhého seznamu nejsou zahrnuty do výběru, protože existují tři sousední prvky. Výsledek je uveden níže. ![](https://i2.wp.com/webformyself.com/wp-content/uploads/2017/139/10.png) :prázdný Pseudotřídu :empty můžete použít k výběru prvků, které nemají žádné potomky. Pseudotřída:empty mluví sama za sebe (prázdné z anglického „empty“). Aby byl prvek zahrnut do výběru:empty, musí být zcela prázdný, dokonce ani mezery. To znamená, že se dostane do vzorku, ale ne. Někdy WYSIWYG editory vloží do vašeho obsahu prázdné p tagy. Chcete-li zabránit použití stylů na tyto prvky, můžete použít :empty a :not. Například p:not(:empty). Výběr prvků určitého typu podle jejich indexu Pseudotřídy popsané v předchozí části vybírají prvky, pokud zaujímají určitou pozici ve stromu dokumentu. Například p:nth-last-child(2) vybere všechny p tagy před posledním v rodičovském bloku. V této části budeme hovořit o typovaných indexových pseudotřídách. Tyto pseudotřídy také vybírají prvky podle hodnoty indexu, ale výběr je omezen na konkrétní typ. Například musíte vybrat pátý tag p nebo dokonce tagy h2. Existuje pět takových pseudotříd, jejichž jména jsou přesným opakem jejich netypových protějšků: n-tý poslední typ() Mezi nimi a podřízenými indexovými pseudotřídami je tenká čára. Záznam p:nth-child(5) najde pouze pátý tag p, zatímco záznam p:nth-of-type(5) najde všechny tagy p a vybere pátý. Vytvoříme další dokument. Má také 20 prvků, pouze některé jsou p tagy a jiné jsou divs. p tagy se zaoblenými rohy, viz snímek obrazovky níže. ![](https://i2.wp.com/webformyself.com/wp-content/uploads/2017/139/11.png)
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*/ border: 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á;) Přečtěte si více o hraniční majetek umíš číst.
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 | . V praxi existují případy, kdy je nutné speciální formátování sloupců, které je možné následujícími způsoby: 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
a pomocí vlastnosti caption-side jej lze umístit před nebo pod tabulku. Chcete-li vodorovně zarovnat text nadpisu, použijte vlastnost zarovnání textu. Zděděno.
Tabulka č. 1
Společnost |
Q1 |
Q2 |
Q3 |
Q4 |
...
titulek (strana titulku: dole; zarovnání textu: vpravo; odsazení: 10px 0; velikost písma: 14px; )
Rýže. 2. Příklad zobrazení záhlaví pod tabulkou 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 nastavíte border-collapse:collapse pro tabulku, mezera bude odstraněna. Nemovitost se dědí.
Syntax
Tabulka (border-collapse: kolaps;)
Rýže. 3. Příklad tabulek se slučováním a oddělený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 |
|
Google |
50.2 |
40.63 |
45.23 |
tabulka ( border: 1px solid #69c; border-collapse: oddělené; empty-cells: hide; ) th, td (border: 2px solid #69c;)
Rýže. 5. Příklad skrytí prázdné buňky tabulky 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í.
![](https://i0.wp.com/html5book.ru/wp-content/uploads/2014/06/top-table1.png)
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 |
tabulka ( rodina písem: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif; velikost písma: 14px; pozadí: bílé; max. šířka: 70 %; šířka: 70 %; sbalení ohraničení: sbalení; text -align: left; ) th ( font-weight: normal; color: #039; border-bottom: 2px solid #6678b1; padding: 10px 8px; ) td ( color: #669; padding: 9px 8px; transition: .3s lineární ) tr:hover td (barva: #6699ff;)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í.
![](https://i0.wp.com/html5book.ru/wp-content/uploads/2014/06/top-table2.png)
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ů.
![](https://i0.wp.com/html5book.ru/wp-content/uploads/2014/06/top-table3.png)
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ů.
![](https://i0.wp.com/html5book.ru/wp-content/uploads/2014/06/top-table4.png)
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: 30px plný #fff barva: #669;
3. „Boxový“ 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.
![](https://i2.wp.com/html5book.ru/wp-content/uploads/2014/06/top-table5.png)
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; 1px solid transparentní;
Nejtěžší je najít barevné schéma, které se bude harmonicky kombinovat 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é.
![](https://i2.wp.com/html5book.ru/wp-content/uploads/2014/06/top-table6.png)
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: 7px solid #9baff1; font-weight: normal background: #e8edff border- left: 1px; solid #9baff1; barva: #039; padding: 8px; td (pozadí: #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.
![](https://i1.wp.com/html5book.ru/wp-content/uploads/2014/06/top-table7.png)
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.
![](https://i1.wp.com/html5book.ru/wp-content/uploads/2014/06/top-table8.png)
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;)
![](https://i1.wp.com/html5book.ru/wp-content/uploads/2014/06/top-table9.png)
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;)
![](https://i1.wp.com/html5book.ru/wp-content/uploads/2014/06/top-table10.png)
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 okraj-levý: 1px solid #0865c2: 1px solid #fff;
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.
![](https://i0.wp.com/html5book.ru/wp-content/uploads/2019/04/top-table-11.png)
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é pozadí: rgba(51, 51, 153, .2);