Neexistuje žiadny atribút ohraničenia označujúci hranicu bunky. Nastavme farbu orámovania 2. bunky na červenú; na to pridáme do druhej bunky atribút bordercolor="#FF0000"
Existuje ďalší atribút určený na zarovnanie obsahu buniek:
valign – zarovná obsah buniek vertikálne.
Má nasledujúce významy:
valign="top" – zarovnať obsah bunky k hornému okraju;
valign="bottom" – zarovná obsah bunky k spodnému okraju;
valign="middle" – zarovnanie na stred bunky;
valign="baseline" – zarovná obsah bunky pozdĺž základnej čiary.
Pridajme tieto atribúty do každej z našich 4 buniek.
1 - bunka |
2 - bunka |
3 - bunka |
4 - bunka |
Naša tabuľka bude vyzerať takto:
![](https://i0.wp.com/webmastermix.ru/images/creation-site/lessons-html/creating-tables-in-html/9.png)
Posledná vec, ktorú musíme v tomto návode pokryť, je zlúčenie buniek tabuľky. Ak chcete zlúčiť niekoľko buniek za sebou, existuje atribút colspan="", kde je počet buniek, ktoré je potrebné zlúčiť, uvedený v úvodzovkách.
Od autora: CSS má selektory na nájdenie prvkov na základe ich pozície v strome dokumentu. Nazývajú sa indexové pseudotriedy, pretože sa pozerajú na pozíciu prvku a nie na jeho typ, atribúty alebo ID. Celkovo je ich päť. :prvé dieťa a :posledné dieťa Ako ste už z názvu mohli uhádnuť, pseudotriedy :first-child a :last-child vyberajú prvé a posledné dieťa v uzle (prvku). Rovnako ako u iných pseudotried, :prvé dieťa a :posledné dieťa majú pri použití jednoduchých selektorov minimálne vedľajšie účinky. Zvážte HTML a CSS nižšie:
:prvo-dieťa a:posledné dieťa
Zoznam ovocia
- Jablká
- Banány
- Čučoriedky
- Pomaranče
- Jahody
| <
!
DOCTYPE
html
>
<
html
lang
=
"en-US"
>
<
head
>
<
meta
charset
=
"utf-8"
>
<
title
>: prvé - dieťa a : posledné - dieťa<
/
title
>
<
/
head
>
<
body
>
<
h2
>Zoznam ovocia<
/
h2
>
<
ul
>
<
li
>Jablká<
/
li
>
<
li
>Banány<
/
li
>
<
li
>Čučoriedky<
/
li
>
<
li
>Pomaranče<
/
li
>
<
li
>Jahody<
/
li
>
<
/
ul
>
<
/
body
>
<
/
html
>
|
Snímka obrazovky nižšie ukazuje výsledok. ![](https://i1.wp.com/webformyself.com/wp-content/uploads/2017/139/1.png) Hlavička h2 a prvá li sú sfarbené do ružova, pretože:prvé dieťa nie je viazané na konkrétne prvky. Značka h2 je prvým potomkom značky body a li je prvým potomkom prvku ul. Prečo sú však zvyšné prvky li zelené? Pretože:last-child tiež nie je viazaný na konkrétny prvok a ul je posledným podriadeným prvkom v značke body. V skutočnosti sme v štýloch vyššie napísali *:prvé dieťa a *:posledné dieťa. Pridaním jednoduchého selektora do :first-child a :last-child budú konkrétnejšie. Obmedzme náš výber len na položky zoznamu. :first-child nahraďte li:first-child a :last-child s li:last-child. Snímka obrazovky nižšie ukazuje výsledok. ![](https://i0.wp.com/webformyself.com/wp-content/uploads/2017/139/2.png) :nth-child() a :nth-last-child() Nie je zlý nápad mať možnosť vybrať prvý a posledný podradený prvok v dokumente. Čo ak potrebujete vybrať párne alebo nepárne prvky? Možno budeme musieť vybrať šiesty prvok v strome alebo použiť štýly na každý tretí podradený prvok. Tu nám pomôžu pseudotriedy:nth-child() a:nth-last-child(). Podobne ako :not, :nth-child() a :nth-last-child() sú tiež funkčné pseudotriedy. Berú jeden argument, ktorým musí byť: kľúčové slovo nepárne; kľúčové slovo párne; celočíselná hodnota typu 2 alebo 8; argument v tvare An+B, kde A je krok, B je posun a n je kladné celé číslo. Posledný argument je trochu komplikovanejší ako ostatné. Pozrieme sa na to trochu neskôr. Aký je rozdiel medzi :nth-child() a :nth-last-child()? Líšia sa začiatočným bodom: :nth-child() počíta dopredu a :nth-last-child() počíta dozadu. Indexy CSS používajú prirodzené čísla a začínajú od 1, nie od 0. Pomocou pseudotried:nth-child() a:nth-last-child() je vhodné vytvárať striedajúce sa vzory. Pruhovaný stôl je perfektným prípadom použitia. CSS nižšie dáva párnym riadkom v tabuľke svetlo modrosivé pozadie, výsledok je možné vidieť na obrázku nižšie: tr:nth-child(párne) ( pozadie: rgba(96, 125, 139, 0,1); )
| tr : n-té dieťa (párne) ( pozadie: rgba(96, 125, 139, 0,1);
|
![](https://i0.wp.com/webformyself.com/wp-content/uploads/2017/139/3.png) Ak prepnete z:nth-child na:nth-last-child, stĺpce sa obrátia, pretože počítanie začína zdola. Pozrite si snímku obrazovky nižšie. ![](https://i0.wp.com/webformyself.com/wp-content/uploads/2017/139/4.png) Chcete niečo zložitejšie, so zložitejšími argumentmi? Vytvorme dokument s 20 prvkami, ako je uvedené nižšie. ![](https://i1.wp.com/webformyself.com/wp-content/uploads/2017/139/5.png) Pomocou :nth-child() a :nth-last-child() môžete vybrať jeden konkrétny prvok. Môžete vybrať všetky podradené prvky po danej pozícii alebo môžete vybrať prvky s násobkom posunu. Zmeňme pozadie šiesteho prvku: Položka:n-té dieťa(6) ( pozadie: #e91e63; ) Ešte raz, A je krok. Toto je faktor pre n začínajúci na 1. To znamená, že ak A = 3, potom 3n vyberie tretí, šiesty a deviaty prvok atď. To je presne to, čo je možné vidieť na snímke obrazovky nižšie. ![](https://i1.wp.com/webformyself.com/wp-content/uploads/2017/139/7.png) Tu je všetko o niečo zaujímavejšie. Pomocou :nth-child() a :nth-last-child() môžete vybrať všetky prvky za daným bodom. Vyberme všetky prvky okrem prvých siedmich: Položka:n-té dieťa(n+8) (pozadie: #e91e63; )
| Položka: n-té dieťa (n + 8) ( pozadie : #e91e63;
|
Nie je tu špecifikovaný žiadny krok. Výsledkom je, že n+8 vyberie všetky prvky n, počnúc ôsmym. Pozrite si snímku obrazovky nižšie. ![](https://i0.wp.com/webformyself.com/wp-content/uploads/2017/139/8.png) Poznámka: záporný offset Platné sú aj záporné hodnoty a rozsahy. Záznam ako:nth-child(-n+8) obráti výber a vyberie prvých osem prvkov. Pomocou posunu a kroku môžete vybrať každý tretí prvok, počnúc piatym: Položka:n-té dieťa(3n+5) (pozadie: #e91e63; )
| Položka : n-té dieťa (3n + 5) ( pozadie : #e91e63;
|
Výsledok. ![](https://i1.wp.com/webformyself.com/wp-content/uploads/2017/139/9.png) len dieťa Pseudotrieda jediného potomka vyberie prvok iba vtedy, ak je jediným podriadeným prvkom. Nižšie sú uvedené dva zoznamy s odrážkami. Prvý má jeden prvok, druhý má tri:
| <
ul
>
<
li
>Apple<
/
li
>
<
/
ul
>
<
ul
>
<
li
>Oranžová<
/
li
>
<
li
>Banán<
/
li
>
<
li
>Malina<
/
li
>
<
/
ul
>
|
Vyberie sa selektor li:only-child(color: #9c27b0;). Apple, keďže ide o jediné dieťa z prvého zoznamu. Prvky druhého zoznamu nie sú zahrnuté do výberu, pretože existujú tri susediace prvky. Výsledok je uvedený nižšie. ![](https://i2.wp.com/webformyself.com/wp-content/uploads/2017/139/10.png) :prázdny Pseudotriedu :empty môžete použiť na výber prvkov, ktoré nemajú potomkov. Pseudotrieda:empty hovorí sama za seba (prázdne z anglického „empty“). Aby bol prvok zahrnutý do výberu:empty, musí byť úplne prázdny, ani medzery. To znamená, že sa dostane do vzorky, ale nie. Niekedy WYSIWYG editory vložia do vášho obsahu prázdne p tagy. Môžete použiť :empty a :not, aby ste zabránili aplikovaniu štýlov na tieto prvky. Napríklad p:not(:empty). Výber prvkov konkrétneho typu podľa ich indexu Pseudotriedy opísané v predchádzajúcej časti vyberajú prvky, ak zaberajú určitú pozíciu v strome dokumentu. Napríklad p:nth-last-child(2) vyberie všetky p tagy pred posledným v rodičovskom bloku. V tejto časti budeme hovoriť o typovaných indexových pseudotriedach. Tieto pseudotriedy tiež vyberajú prvky podľa hodnoty indexu, ale výber je obmedzený na konkrétny typ. Napríklad musíte vybrať piatu značku p alebo dokonca značky h2. Existuje päť takýchto pseudotried, ktorých mená sú presným opakom ich netypových náprotivkov: n-tý posledný typ() Medzi nimi a pseudotriedami detského indexu je tenká čiara. Záznam p:nth-child(5) nájde iba piaty tag p, zatiaľ čo záznam p:nth-of-type(5) nájde všetky tagy p a vyberie piaty. Vytvorme ďalší dokument. Má tiež 20 prvkov, len niektoré sú p tagy a iné sú divs. p tagy so zaoblenými rohmi, pozri snímku obrazovky nižšie. ![](https://i2.wp.com/webformyself.com/wp-content/uploads/2017/139/11.png)
Špecifikácia CSS dáva neobmedzené možnosti pri navrhovaní tabuliek. V predvolenom nastavení nemajú bunky tabuľky a tabuľky žiadne viditeľné okraje ani pozadie a bunky v tabuľke nie sú vedľa seba.
Šírka buniek tabuľky je určená šírkou ich obsahu, takže šírka stĺpcov tabuľky sa môže líšiť. Výška všetkých buniek v rade je rovnaká a je určená výškou najvyššej bunky.
Formátovanie tabuliek
1. Okraje tabuľky
Štandardne sa tabuľka a bunky v nej zobrazujú v prehliadači bez viditeľných okrajov. Hranice stola sú špecifikované vlastnosťou border: Tabuľka ( border-collapse: zbaliť; /*odstrániť prázdne miesta medzi bunkami*/ orámovanie: 1px plná sivá; /*nastaviť vonkajší okraj tabuľky na sivú farbu s hrúbkou 1px*/ ) Ohraničenie buniek hlavičky každý stĺpec je určený pre prvok: Th (ohraničenie: 1px plná sivá farba;) Hranice buniek telá tabuľky sú špecifikované pre prvok td: Td (ohraničenie: 1px plná sivá farba;) Hrúbka okrajov susedných buniek nie je zdvojnásobená, takže okraje pre celú tabuľku môžete nastaviť nasledujúcim spôsobom: Th, td (ohraničenie: 1px plná sivá farba;) Vonkajší okraj tabuľky môžete zvýrazniť tak, že mu dáte väčšiu šírku: Tabuľka (ohraničenie: 3px sivá farba;) Hranice sa dajú nastaviť čiastočne: /* nastavenie šedého vonkajšieho orámovania s hrúbkou 3px pre tabuľku */ tabuľka (border-top: 3px plná šedá; ) /* nastavenie šedého orámovania s hrúbkou 1px pre bunku tela tabuľky */ td (border-bottom: 1px solid šedá ;) Môžete si prečítať viac o hraničnom majetku.
2. Ako nastaviť šírku a výšku stola
Predvolené šírka a výška stola určený obsahom jeho buniek. Ak šírka nie je špecifikovaná, bude sa rovnať šírke najširšieho riadku (riadku).
Šírka tabuľky a stĺpca sa nastavuje pomocou vlastnosti width. Ak je pre tabuľku zadaná tabuľka (šírka: 100%;), šírka tabuľky sa bude rovnať šírke kontajnerového bloku, v ktorom sa nachádza.
Šírka tabuľky a stĺpcov sa zvyčajne uvádza v px alebo %, napríklad: Tabuľka (šírka: 600 pixelov;) th (šírka: 20 %;) td:prvé dieťa (šírka: 30 %;) Výška stola nešpecifikované. Výška riadku s tabuľkami je možné manipulovať pridaním vrchnej a spodnej výplne k prvkom | . V praxi existujú prípady, keď je potrebné špeciálne formátovanie stĺpcov, čo je možné nasledujúcimi spôsobmi: pomocou značky
Môžete nastaviť pozadie pre ľubovoľný počet stĺpcov;
pomocou selektorovej tabuľky td:first-child , table td:last-child môžete nastaviť štýly pre prvý alebo posledný stĺpec tabuľky (okrem prvej bunky hlavičky tabuľky);
Pomocou selektora tabuľky td:nth-child (pravidlo výberu stĺpcov) môžete nastaviť štýly pre ľubovoľné stĺpce tabuľky.
Môžete si prečítať viac o selektoroch CSS.
5. Ako pridať názov tabuľky
Do tabuľky môžete pridať názov pomocou značky
a pomocou vlastnosti caption-side ho možno umiestniť pred alebo pod tabuľku. Ak chcete vodorovne zarovnať text nadpisu, použite vlastnosť zarovnanie textu. Zdedené.
Tabuľka č.1
Spoločnosť |
Q1 |
Q2 |
Q3 |
Q4 |
...
titulok (strana titulku: dole; zarovnanie textu: vpravo; odsadenie: 10px 0; veľkosť písma: 14px; )
Ryža. 2. Príklad zobrazenia hlavičky pod tabuľkou 6. Ako odstrániť priestor medzi rámami buniek
Rámce buniek tabuľky sú štandardne oddelené malou medzerou. Ak pre tabuľku nastavíte border-collapse: kolaps, medzera sa odstráni. Nehnuteľnosť sa dedí.
Syntax
Tabuľka (border-collapse: kolaps;)
Ryža. 3. Príklad tabuliek so zlučovaním a oddelenými rámcami buniek
7. Ako zväčšiť priestor medzi rámami buniek
Pomocou vlastnosti border-spacing môžete zmeniť vzdialenosť medzi rámčekmi buniek. Táto vlastnosť sa vzťahuje na tabuľku ako celok. Zdedené.
Syntax
Tabuľka (border-collapse: samostatné; border-spacing: 10px 20px;) tabuľka (border-collapse: samostatné; border-spacing: 10px;)
Ryža. 4. Príklad tabuliek so zväčšenými medzerami medzi rámcami buniek
8. Ako skryť prázdne bunky tabuľky
Vlastnosť empty-cells skryje alebo zobrazí prázdne bunky. Ovplyvňuje iba bunky, ktoré neobsahujú žiadny obsah. Ak je bunka nastavená na pozadie a tabuľka je nastavená na tabuľku (border-collapse: kolaps;) , bunka nebude skrytá. Zdedené.
Spoločnosť |
Q1 |
Q2 |
Q3 |
Microsoft |
20.3 |
30.5 |
|
Google |
50.2 |
40.63 |
45.23 |
tabuľka ( orámovanie: 1px plné #69c; border-collapse: oddelené; prázdne-bunky: skryť; ) th, td (ohraničenie: 2px plné #69c;)
Ryža. 5. Príklad skrytia prázdnej bunky tabuľky 9. Usporiadajte tabuľku pomocou vlastnosti table-layout
Rozloženie tabuľky je určené jedným z dvoch prístupov: pevným rozložením alebo automatickým rozložením. V tomto prípade sa rozloženie týka toho, ako je šírka tabuľky rozdelená medzi šírky buniek. Nehnuteľnosť sa nededí.
Syntax
Tabuľka (rozloženie tabuľky: pevné;)
10. Najlepšie rozloženie tabuľky
1. Horizontálny minimalizmus
Vodorovné tabuľky sú tabuľky, v ktorých sa text číta horizontálne. Každá entita je samostatný riadok. Takýmto tabuľkám môžete dodať minimalistický vzhľad umiestnením dvojpixelového orámovania pod hlavičku.
![](https://i0.wp.com/html5book.ru/wp-content/uploads/2014/06/top-table1.png)
zamestnanec | Plat | Bonus | Dozorca |
Stephen C. Cox | $300 | $50 | Bob |
Josephine Tan | $150 | - | Annie |
Joyce Ming | $200 | $35 | Andy |
James A. Pentel | $175 | $25 | Annie |
tabuľka ( font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif; font-size: 14px; background: white; max-width: 70%; width: 70%; border-collapse: zbalenie; 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árne; ) tr:hover td (farba: #6699ff;)Ak existuje veľký počet riadkov, tento dizajn tabuľky sťažuje ich čítanie. Na vyriešenie tohto problému môžete pridať okraj s jedným pixelom pod všetky prvky td.
![](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; )/*zvyšok kódu je ako v príklade vyššie*/
Pridaním efektu :hover k prvku tr budú tabuľky navrhnuté v minimalistickom štýle ľahšie čitateľné. Keď umiestnite kurzor myši na bunku, zostávajúce bunky v rovnakom riadku sa súčasne zvýraznia, čo uľahčuje sledovanie informácií, ak majú tabuľky viacero stĺpcov.
![](https://i0.wp.com/html5book.ru/wp-content/uploads/2014/06/top-table3.png)
Th ( font-weight: normal; color: #039; padding: 10px 15px; ) td ( color: #669; border-top: 1px solid #e8edff; padding: 10px 15px; ) tr:hover td (background: #e8edff ;)
2. Vertikálny minimalizmus
Hoci sa takéto tabuľky používajú zriedkavo, vertikálne orientované tabuľky sú užitočné na kategorizáciu alebo porovnávanie popisov objektov reprezentovaných stĺpcom. Môžete ich navrhnúť v minimalistickom štýle pridaním priestoru na oddelenie stĺpcov.
![](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- vpravo: 30px plné #fff; border-left: 30px plné #fff; farba: #669; výplň: 12px 2px; )
3. Krabicový štýl
Najspoľahlivejším štýlom pri navrhovaní stolov všetkých typov je takzvaný „krabicový“ štýl. Stačí si vybrať dobrú farebnú schému a potom nastaviť farbu pozadia pre všetky bunky. Nezabudnite zdôrazniť rozdiel medzi čiarami nastavením okrajov ako oddeľovača.
![](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; color: #669; border-top: 1px solid transparent; padding: 8px; ) tr:hover td (background: #ccddff;)
Najťažšie je nájsť farebnú schému, ktorá bude harmonicky ladiť s vašou webovou stránkou. Ak je stránka náročná na grafiku a dizajn, potom bude pre vás dosť ťažké použiť tento štýl.
![](https://i2.wp.com/html5book.ru/wp-content/uploads/2014/06/top-table6.png)
Tabuľka ( rodina písiem: "Lucida Sans Unicode", "Lucida Grande", bezpätkové; veľkosť písma: 14px; maximálna šírka: 70 %; šírka: 70 %; zarovnanie textu: na stred; zbalenie okraja: zbalenie ; 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álna zebra
Stôl zebra vyzerá celkom atraktívne a pohodlne. Dodatočná farba pozadia môže slúžiť ako vizuálna pomôcka pre ľudí pri čítaní tabuľky.
![](https://i1.wp.com/html5book.ru/wp-content/uploads/2014/06/top-table7.png)
Th ( font-weight: normal; color: #039; padding: 10px 15px; ) td ( color: #669; border-top: 1px solid #e8edff; padding: 10px 15px; ) tr:nth-child(2n) ( pozadie: #e8edff ;)
5. Novinový štýl
Ak chcete dosiahnuť takzvaný efekt novín, môžete použiť okraje na prvky tabuľky a hrať sa s bunkami vo vnútri. Ľahký minimalistický štýl novín môže vyzerať takto: pohrajte sa s farebnou schémou, pridajte okraje, vypchávky, rôzne pozadia a efekt vznášania sa pri umiestnení kurzora myši nad čiaru.
![](https://i1.wp.com/html5book.ru/wp-content/uploads/2014/06/top-table8.png)
Tabuľka (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 (pozadie: #ccddff;)
![](https://i1.wp.com/html5book.ru/wp-content/uploads/2014/06/top-table9.png)
Tabuľka (orámovanie: 1px plné #69c;) th ( font-weight: normal; color: #039; padding: 10px; ) td ( color: #669; border-top: 1px daffed #fff; padding: 10px; background: #ccddff; ) tr:hover td (pozadie: #99bcff;)
![](https://i1.wp.com/html5book.ru/wp-content/uploads/2014/06/top-table10.png)
Tabuľka (okraj: 1px plný #6cf;) th ( font-weight: normal; font-size: 13px; color: #039; text-transform: largecase; border-right: 1px solid #0865c2; border-top: 1px full #0865c2; ľavý okraj: 1 pixel plný #0865c2; okraj-dolný: 1 pixel plný #fff; výplň: 20px; ) td ( farba: #669; pravý okraj: 1 pixel prerušovaná #6cf; výplň: 10px 20px; )
6. Pozadie tabuľky
Ak hľadáte rýchly a jedinečný spôsob, ako navrhnúť stôl, vyberte si atraktívny obrázok alebo fotografiu, ktorá súvisí s témou stola a nastavte ho ako pozadie stola.
![](https://i0.wp.com/html5book.ru/wp-content/uploads/2019/04/top-table-11.png)
Png") 98% 86% bez opakovania; ) th ( váha písma: normálna; veľkosť písma: 14px; farba: #339; výplň: 10px 12px; pozadie: biela; ) td ( farba: #669; okraj- horná časť: 1px plná biela; výplň: 10px 12px; pozadie: rgba(51, 51, 153, .2); prechod: .3s; ) tr:hover td ( pozadie: rgba(51, 51, 153, .1); )