Afișarea marginilor interioare ale tabelului CSS. Borduri și cadre

Scopul lecției: Familiarizarea cu proprietățile tabelelor și principiile de dispunere a tabelelor CSS


Să aruncăm o privire la proprietățile de bază ale tabelului CSS

frontieră

O proprietate este considerată într-una și include mai multe proprietăți în același timp:

  • STIL BORDER
  • LĂȚIMEA GRANIȚEI
  • BORDER-COLOR

Există, de asemenea, o regulă colectivă:

table.collapse (border-colaps: colaps;) table.separate (border-colaps: separat;)

Rezultat:

latime si inaltime
(înălțimea și lățimea mesei)

Valori:

Exemplu:

aliniere text
(aliniere orizontala)

Valori:

  • centru (centrat)
  • stânga (aliniat la stânga)
  • dreapta (aliniat la dreapta)
  • justifica (latime)

vertical-aliniat
(aliniere verticală)

Valori:

  • linie de bază (linie de bază)
  • sub (ca subindex)
  • super (ca superscript)
  • sus (sus)
  • mijloc (mijloc)
  • jos (jos)
  • % (din înălțimea spațierii)

Exemplu:

căptușeală
(căptușeală de masă)

culoare de fundal (fundal)
culoare (culoare text)

Aspect tabel CSS

Datorită numărului mare de proprietăți ale tabelelor și a variațiilor în designul acestora, tabelele perioadă lungă de timp au fost unele dintre standardele pentru aspectul paginilor web. Dacă faceți marginile tabelului invizibile, atunci puteți utiliza celulele sale individuale ca blocuri separate ale paginii: antet, meniu, subsol etc.

Dar acest lucru nu este în totalitate corect, deoarece fiecare etichetă are propriul scop, iar tabelele nu ar trebui să servească pentru aspectul paginii. Cu toate acestea, lipsa unei alternative i-a determinat pe designeri să utilizeze acest tip de metodă de aspect.

Acum există o altă modalitate - utilizarea straturilor, care a înlocuit treptat tabelele în acest tip de lucru cu o pagină web. Cu toate acestea, chiar și în zilele noastre, unii designeri folosesc cu succes aspectul tabelelor.

Aspect foaie de calcul cu două coloane

Una dintre cele mai frecvente metode de aspect este două coloane, adică pagina este împărțită în două părți.

  • De obicei, partea stângă este meniul și elemente suplimentare, iar partea dreaptă este cea principală pentru conținutul principal.
  • În acest caz, lățimea laturii stângi este setată o anumită valoare, adică greu, iar partea dreaptă ocupă restul paginii.
  • În acest caz, trebuie să setați lățimea totală a întregului tabel (eticheta de tabel) în procente prin proprietatea de lățime (100%), iar pentru prima celulă (eticheta td) setați lățimea (de asemenea, proprietatea de lățime) în pixeli sau procent.
  • Exemplu: setați cadrul principal al paginii în două coloane: prima - cu o dimensiune fixă, a doua - pentru restul zonei browserului. Executați sarcina utilizând stiluri CSS ()


    Performanţă:

    </ cap> <corp> <tabel id = "maket" cellspacing = "0"> <tr> <td id = "left"> 1</ td> <td id = "dreapta"> 2</ td> </ tr> </ table> ...

    1
    ...

    Rezultat:

  • Acum să încercăm să separăm vizual cele două coloane ale tabelului una de cealaltă.
  • Exemplu: setați un fundal diferit de celule (pentru a separa două coloane una de cealaltă) și setați distanța dintre coloane (separator)


    Performanţă:
    Să adăugăm noi proprietăți de stil:

    / * pentru celula stângă * / td # left (lățime: 200px; fundal: #ccc; chenar: 1px negru solid; / * marcați temporar marginile * /) / * pentru celula dreaptă * / td # dreapta (fundal: ;

    Împreună:

    </ cap> <corp> <tabel id = "maket" cellspacing = "0"> <tr> <td id = "left"> 1</ td> <td id = "razdel"> <td id = "dreapta"> 2</ td> </ tr> </ table>

    1

    O nouă celulă a fost adăugată pentru separator.
    Rezultat:

  • De asemenea, puteți face separatorul dintre coloane mai puțin proeminent. Pentru a face acest lucru, vom folosi stiluri de margine.
  • Exemplu: face separator între coloanele tabelului folosind linie punctata marginile celulelor adiacente


    Performanţă:
    Să adăugăm noi proprietăți de margine pentru celule:

    / * pentru celula stângă * / td # left (lățime: 200px; fundal: #ccc; / * Culoare stânga fundal culoare * / / * nou * / border-right: 1px punctat # 000; / * Opțiuni margine punctat dreapta * / )

    Împreună:

    </ cap> <corp> <tabel id = "maket" cellspacing = "0"> <tr> <td id = "left"> 1</ td> <td id = "dreapta"> 2</ td> </ tr> </ table>

    1

    Rezultat:

    Aspect foaie de calcul cu trei coloane

    Există un concept al unui aspect fix sau „fluid”.

    S-a rezolvat aspectul CSS

    • Folosind aspect fix lățimea întregului tabel este setată în pixeli, și apoi, indiferent de rezoluția monitorului și a ferestrei browserului, tabelul va avea întotdeauna aceeași lățime.
    • În acest caz lățimea coloanelor rămase ar trebui, de asemenea, să fie fixată.
    • Este posibil să nu specificați lățimea unei celule, apoi va fi calculată automat pe baza dimensiunilor celulelor rămase și a întregului tabel.

    Exemplu: creați un șablon de pagină cu trei coloane. Utilizați aspectul tabelului fix:

    • coloana din stânga - 150 pixeli;
    • coloana din mijloc - 400 pixeli;

    Performanţă:

    </ cap> <corp> <tabel id = "maket" cellspacing = "0"> <tr> <td id = "left"> 1</ td> <td id = "central"> 2</ td> <td id = "dreapta"> 3</ td> </ tr> </ table>

    1 2

    Rezultat:

    Mașină de cauciuc

    • Lățimea mesei atunci când se utilizează designul „cauciuc” setat în% din lățimea ferestrei browserului... Acea. când se schimbă fereastra browserului, tabelul este redimensionat, de asemenea.
    • Lățimea tuturor celulelor poate fi instalat în procente.
    • A doua opțiune este când lățimea unor celule este stabilit în procente, A unele în pixeli.

    Important: Suma lățimilor tuturor coloanelor ar trebui să fie de 100%, indiferent de lățimea tabelului.


    Exemplu:

    • coloana din stânga - 20%;
    • coloana din mijloc - 40%;
    • coloana din dreapta - 40%;

    Setați fundalul coloanelor și separați vizual coloanele cu o margine.

    Performanţă:

    </ cap> <corp> <tabel id = "maket" cellspacing = "0"> <tr> <td id = "left"> 1</ td> <td id = "central"> 2</ td> <td id = "dreapta"> 3</ td> </ tr> </ table>

    1 2

    Rezultat:

    Luați în considerare a doua opțiune, când lățimea coloanei centrale este selectată automat de browser; un exemplu este imaginea:

    Exemplu: creați un șablon de pagină cu trei coloane. Utilizați un aspect de masă fluid:

    • coloana din stânga - 150 pixeli;
    • coloana din mijloc - 40%;
    • coloana din dreapta - 200 pixeli;

    Setați fundalul coloanelor și separați vizual coloanele cu o margine.


    Performanţă:

    </ cap> <corp> <tabel id = "maket" cellspacing = "0"> <tr> <td id = "left"> 1</ td> <td id = "central"> 2</ td> <td id = "dreapta"> 3</ td> </ tr> </ table>

    1 2

    Rezultat:
    Rezultatul va fi aproximativ același, doar „întinderea” va avea loc datorită coloanei centrale.

    Utilizarea unui tabel imbricat într-un aspect fluid

    Dacă lățimea a două coloane este setată în procente și a treia în pixeli, nu veți putea trece cu un singur tabel. Deci, dacă lățimea întregului tabel este de 100%, prima coloană este de 200 pixeli, iar coloanele rămase sunt 20%, atunci un calcul simplu arată că dimensiunea primei coloane este de 60%. În acest caz, browserul nu va accepta valoarea specificată în pixeli, iar dimensiunea va fi setată în procente.

    • Tabelul original este creat cu două celule. Lățimea mesei este setată ca procent.
    • Pentru celula stângă(prima coloană) lățimea este setată în pixeli.
    • Lățimea dreaptă a celulei(bază pentru alte difuzoare) nu este specificat... Un al doilea tabel este inserat în interiorul acestei celule, care constă și din două celule.
    • Lățimea celulelor tabelului imbricat este setată ca procent..
    • Lățimea interioară a mesei trebuie setată la 100% astfel încât această masă să ocupe tot spațiul liber din masa exterioară.
    • Lățimile coloanei centrale și din dreapta sunt calculate în raport cu lățimea celulei, nu tabelul exterior în ansamblu.

    Exemplu: creați un șablon de pagină cu trei coloane. Utilizați aspectul fluid cu tabelul imbricat:

    • coloana din stânga - 150 pixeli;
    • coloana din mijloc - 60%;
    • coloana din dreapta - 40%;

    Setați fundalul coloanelor.

    Performanţă:

    puteți aplica o singură proprietate CSS, culoarea de fundal, dar nu puteți seta direct culoarea de fundal pe hover (pseudo-clasa: hover) pe acest element. În acest exemplu, vom analiza cum să evidențiați o coloană de tabel utilizând numai CSS.

    Un exemplu de evidențiere a coloanelor și a rândurilor tabelelor pe hover
    1
    2

    Atributele etichetei celular și spațiul celulelor sunt necesare aici, astfel încât să nu existe „spațiu” între tabele.
    Rezultat:

    Deci, am studiat cel mai mult cu tine acțiuni simple care poate fi implementat cu margini de masă. Și acum masa arată mult mai plăcută din punct de vedere estetic. Cu toate acestea, umplerea celulelor se bazează direct pe limite. Puteți remedia cu ușurință acest lucru doar prin indentarea celulelor din tabelul HTML. Și apoi textul din cadru, în celulă, va fi mai ușor de citit.

    Pentru a face indentări într-o celulă, utilizați atributul căptușeala celulară pentru etichetă

    ... Cu toate acestea, există o altă opțiune, mai preferabilă: CSS.

    În acest caz, indentările sunt setate folosind proprietatea căptușeală... Cu ajutorul său, nu va fi dificil să se indenteze acolo unde este necesar, adică sus, dreapta, jos sau stânga, folosind, respectiv, una dintre aceste proprietăți: blat de umplutură, umplutură-dreapta, umplutură de fundși umplutură-stânga.

    Puteți seta câți pixeli trebuie indentați. Iată un exemplu în care va fi marja de jos 20 pixeli, iar restul vor fi 10 ... Astfel de CSS-codul va arăta astfel:

    Td (umplutură: 10 px; fundul de umplutură: 20 px;)

    Și codul complet de stiluri în această etapă:

    Tabel (chenar: albastru 1px solid; bordură-colaps: colaps;) td (chenar: albastru solid 1 px; umplutură: 10 px; fund de umplutură: 20 px;)

    Rezultatul în browser:

    Indentare între celule

    De obicei, sarcinile asociate creării tabelelor pot fi rezolvate folosind etichete, atribute și proprietăți care vă permit să creați margini, indentări în celule și, de asemenea, să setați fundalul de culoare al celulelor în sine.

    Indentările din tabele nu sunt numai în interiorul celulelor. De asemenea, pot fi prezenți între celule.

    Există două moduri de a indenta între celule:

    1. folosind atributul spațierea celulelor pentru etichetă
    .
  • folosind CSS-proprietati spațiere la margine.
  • Trebuie subliniat faptul că spațiere la margine este scris pentru tabel ca întreg, în timp ce proprietatea căptușeală prescrie direct celulele.

    Să aruncăm o privire la un exemplu:

    Tabel (chenar: albastru solid 1 px; bordură colapsată: separată; spațiu margine: 5 px;) td (chenar: albastru solid 1 px; umplutură: 10 px; fundul de umplutură: 20 px;)

    Și rezultatul rezultat:

    Să stipulăm imediat că nu trebuie să încercați să faceți astfel de liniuțe folosind border-colaps: colaps... Într-adevăr, atunci când utilizați această opțiune, celulele se „lipesc” una de cealaltă.

    Și pentru a le menține separate unele de altele, ar trebui să le folosiți border-colaps: separat... Este important să înțelegem că această valoare este implicită. Și este folosit numai pentru a arăta clar cum se rezolvă această problemă. Dacă ștergem această linie, atunci va fi salvat rezultatul sub formă de celule situate separat unul de celălalt.

    CSS vă permite să setați nu numai stilul chenarului tabelului, ci și stilul chenarelor celulelor individuale. Deoarece fiecare celulă are propriile margini, granița dintre celulele adiacente este dublată. Dar este posibil să combinați marginile celulelor vecine într-una singură. Pentru aceasta există o proprietate de colapsare a frontierelor. Preia valorile:

    border-colaps: separat - fiecare celulă are propriul său border (implicit)

    border-collapse: colaps - frontiera generală

    border-collapse: mostenesc - valoarea este preluată din element părinte

    De exemplu, să creăm un tabel și să setăm un cadru pentru celulele tuturor tabelelor care vor fi pe pagină. În primul rând, să nu schimbăm nimic pentru a vedea cum va arăta tabelul:

    Stil:

    și și stilul lor.

    Exemplu de evidențiere a coloanelor tabelului

    1
    2
    3
    4
    5
    6

    Pagină
    NumeNume de familie
    Homerfamilia Simpson
    Margefamilia Simpson

    NumeNume de familie
    Homerfamilia Simpson
    Margefamilia Simpson


    Încerca "

    Dimensiunea mesei

    După adăugarea de cadre în celulele de masă, s-a observat că conținutul celulelor era prea aproape de margini. Puteți utiliza proprietatea de umplere pentru a adăuga spațiu alb între marginile celulelor și conținutul acestora:

    Th, td (padding: 7px;) Încercați-l "

    Mărimea mesei depinde de conținutul acesteia, dar de multe ori apar situații când masa este prea îngustă și devine necesară întinderea acesteia. Lățimea și înălțimea tabelului pot fi modificate folosind proprietățile de lățime și înălțime, setând dimensiunile dorite fie la masă, fie la celule:

    Tabel (lățime: 70%;) al treilea (înălțime: 50 px;) Încercați-l "

    Aliniere text

    În mod implicit, textul din celulele antetului tabelului este aliniat la centru, iar textul din celulele normale este aliniat la stânga, folosind proprietatea de aliniere a textului puteți controla alinierea orizontală a textului.

    Proprietatea de aliniere verticală CSS vă permite să controlați alinierea verticală a conținutului text. În mod implicit, textul este aliniat vertical la centrul celulelor. Alinierea verticală poate fi anulată cu una dintre valorile proprietății de aliniere verticală:

    • sus: textul este aliniat cu partea de sus a celulei
    • mijloc: aliniază textul la centru (implicit)
    • jos: textul este aliniat la partea de jos a celulei
    Numele documentului
    NumeNume de familie
    Homerfamilia Simpson
    Margefamilia Simpson


    Încerca "

    Alternând culoarea de fundal a rândurilor de tabel

    Când scanați tabele mari care conțin multe rânduri cu o cantitate mare informații, poate fi dificil să țineți evidența datelor care aparțin unui anumit rând. Pentru a ajuta utilizatorii să navigheze, puteți utiliza alternativ două culori de fundal diferite. Pentru a crea efectul descris, puteți utiliza selectorul de clasă, adăugându-l la fiecare al doilea rând al tabelului:

    Numele documentului

    NumeNume de familiePoziţie
    Homerfamilia SimpsonTată
    Margefamilia Simpsonmamă
    Bartfamilia Simpsonun fiu
    Lisafamilia Simpsonfiică


    Încerca "

    Adăugarea unui atribut de clasă la fiecare a doua linie este o sarcină plictisitoare. Pseudo-clasa: nth-child a fost adăugată în CSS3 pentru a rezolva această problemă mod alternativ... Efectul de alternanță poate fi acum realizat exclusiv folosind CSS fără a fi nevoie să modificați marcajul HTML al documentului. Cu pseudo-clasa: nth-child este posibil să selectați toate rândurile impare sau pare ale unui tabel folosind unul dintre Cuvinte cheie: par (par) sau impar (impar):

    Tr: nth-child (impar) (fundal-culoare: # EAF2D3;) Încercați-l "

    Schimbați fundalul liniei pe cursor

    O altă modalitate de a îmbunătăți lizibilitatea datelor tabulare este schimbarea culoare de fundal linii atunci când treceți cu mouse-ul peste el. Acest lucru va ajuta la evidențierea conținutului dorit al tabelului și la îmbunătățirea percepției vizuale a datelor.

    Implementarea acestui efect este foarte simplă, pentru aceasta trebuie să adăugați pseudo-clasa: hover la selectorul rândului tabelului și să setați culoarea de fundal dorită:

    Tr: hover (fundal-culoare: # E0E0FF;) Încercați-l "

    Aliniere centrală a mesei

    Alinierea unui tabel HTML la centru este posibilă numai dacă lățimea tabelului este mai mică decât lățimea elementului său părinte. Pentru a alinia tabelul în centru, trebuie să utilizați proprietatea marginii, setând-o cu cel puțin două valori: prima valoare va fi responsabilă pentru marginea exterioară a tabelului în partea de sus și de jos, iar a doua pentru alinierea centrală automată:

    Tabel (margine: 10 px automat;) Încercați "

    Dacă aveți nevoie de margini diferite în partea de sus și de jos a tabelului, puteți seta proprietatea marginii la trei valori: prima va fi responsabilă pentru marja superioară, a doua pentru alinierea orizontală și a treia pentru marja inferioară:

    Tabel (marjă: 10 px automată 30 px;)

    Am luat în considerare multe metode de stilizare a elementelor de pe pagină, cum ar fi informații despre text, linkuri, imagini, titluri, dar toate acestea nu sunt încă suficiente. În articolele mele, folosesc adesea elemente HTML, cum ar fi tabelele, deoarece în majoritatea cazurilor sunt ajuta la sistematizarea Informații importanteși face mai ușor de servit.

    În acest articol, vă voi prezenta complexitățile stilului tabelelor HTML și veți afla noi proprietăți CSS concepute pentru a atinge aceste obiective.

    Hypertext Markup Language HTML ne-a furnizat un numar mare de oportunități de a lega stilurile CSS de zece etichete unice concepute pentru lucrul cu tabele, vă sugerez să le repetați înainte de a studia în continuare:

    („Subsol” al tabelului) culoare de fundal - coral, pentru element („Antetul” tabelului) setați culoarea de fundal argint.
  • Pentru articole
  • care se află în interiorul elementului (corpul mesei) setează schimbarea culorii de fundal la hover (pseudo clasă: hover) c alb pe culoare kaki(se evidențiază întreaga linie).

    Rezultatul exemplului nostru:

    Orez. 153 Exemplu de stilare a rândurilor în tabele

    Următorul exemplu arată cum se aplică rotunjirea colțurilor la celulele de masă (proprietate).

    Exemplu de rotunjire a colțurilor unei celule
    EtichetăDescriere
    .
    Definește conținutul tabelului.
    Specifică numele tabelului.
    Definește celula antet a tabelului.
    Definește un rând dintr-un tabel.
    Definește celula de date a tabelului.
    Folosit pentru a conține titlul grupului din tabel (titlul tabelului).
    Folosit pentru a conține „corpul” tabelului.
    Folosit pentru a conține „subsolul” tabelului (subsol).
    Definește proprietățile de coloană specificate pentru fiecare coloană dintr-o etichetă
    Definește un grup de coloane într-un tabel.

    Lucrul cu liniuțe de masă

    Folosirea căptușelii într-o masă
    Liniile de tabel
    1 2 3 4
    2
    3
    4


    În acest exemplu, noi:

    • Așezați masa în centru folosind tehnica de aliniere orizontală margini(marjă: 0 auto).
    • Pentru numele tabelului (tag
    ) setăm umplutura inferioară la 19 pixeli. Sper să nu vă confundați cu numerele inegale :)

    Rezultatul exemplului nostru:

    Spațiere între celule

    După exemplul de mai sus, este posibil să fi observat că avem un decalaj între toate celulele din tabel. Să vedem cum să eliminăm decalajul dintre celulele de masă sau să îl mărim.

    Pentru a seta distanța dintre marginile celulelor adiacente, trebuie să utilizați proprietatea CSS - border-spacing.

    Modificați spațiul dintre tabele
    spațiu la margine: 30px 10px;
    1 2 3
    2
    3
    spațiere la margine: 0;
    1 2 3
    2
    3
    spațiere la margine: 0,2em;
    1 2 3
    2
    3


    În acest exemplu, noi:

    • plutește la stânga). Dacă ați ratat subiectul elementelor plutitoare, atunci puteți reveni oricând la acest tutorial - "".
    • În plus, setăm umplutura mesei din dreapta la 30 px și stabilim alinierea verticală a meselor (partea superioară a elementului este aliniată cu partea superioară a celui mai înalt element). Vom reveni la o discuție detaliată a acestei proprietăți în acest articol.
    ) - îndrăzneț.
  • Pentru celulele de tabel (antet și celule de date), stabilim o margine solidă de 1 pixel cu hexazecimal # F50 și setăm umplutura la 19 pixeli pentru toate laturile.
  • Pentru primul tabel cu clasa .primul setăm spațiul dintre celulele tabelului (proprietatea de spațiere a chenarului) la 30 px 10 px, pentru al doilea tabel cu clasa .al doilea egal cu zero, pentru al treilea tabel cu clasa .al treilea egal cu 0,2em.
  • Vă atrag atenția asupra faptului că dacă este specificată o singură valoare a lungimii în proprietatea de spațiere a chenarului, aceasta indică distanța, atât pe orizontală, cât și pe verticală, și dacă sunt specificate două valori de lungime, atunci prima determină distanța orizontală , iar a doua verticală. Distanța dintre marginile celulelor adiacente poate fi specificată în unități CSS (px, cm, em etc.). Valorile negative nu sunt permise.

    Rezultatul exemplului nostru:

    Afișați marginile în jurul celulelor tabelului

    Poti spune: - deci, am eliminat spațiul dintre celule folosind proprietatea de spațiere a chenarelor cu o valoare 0, dar de ce avem acum marginile celulelor care se intersectează?

    Bordurile duble se formează datorită faptului că marginea inferioară a unei celule este adăugată la marginea superioară a celulei care se află sub aceasta, o situație similară apare pe laturile celulelor și acest lucru este logic din punctul de vedere al afișării tabelul, dar din fericire există o modalitate de a spune browserului că suntem, nu vrem să vedem un comportament atât de obraznic al marginilor celulare.

    Pentru a face acest lucru, trebuie să utilizați proprietatea CSS de restrângere a chenarului. În mod ciudat, folosirea proprietății border-collapse cu valoarea de colaps este cel mai bun mod cum puteți elimina decalajul dintre celule și nu obțineți margini duble între ele.

    Luați în considerare o comparație a comportamentului frontierei atunci când utilizați proprietatea de spațiere a frontierelor cu o valoare 0 și proprietatea de colapsare a frontierelor cu o valoare de colaps:

    Exemplu de afișare a marginilor în jurul celulelor tabelului
    spațiere la margine: 0;
    1 2 3
    2
    3
    border-colaps: colaps;
    1 2 3
    2
    3


    În acest exemplu, noi:

    • Am făcut ca mesele noastre să plutească și să fie aliniate la stânga (float: la stânga), să le setăm căptușeala dreaptă la 30 px.
    • Setați pentru numele tabelului (eticheta
    ) - îndrăzneț.
  • Pentru celulele de tabel (antet și celule de date), stabilim o margine solidă de 5 px cu hexagonul # F50 și setăm o lățime fixă ​​de 50 px și o înălțime de 75 px.
  • Pentru primul tabel cu clasa .primul stabilim spațiul dintre celulele tabelului la zero (spațiere la margine: 0;), iar pentru al doilea tabel cu clasa .al doilea setați proprietatea de colapsare a chenarului pentru a restrânge, care îmbină marginile celulei într-una singură când este posibil.
  • Rezultatul exemplului nostru:

    Comportamentul celulei goale

    Folosind CSS puteți seta dacă să fie afișate sau nu margini și fundaluri pentru celulele goale dintr-un tabel. Proprietatea de celule goale este responsabilă pentru acest comportament, care implicit, așa cum ați observat din exemplele anterioare, afișează celule goale.

    Să trecem la un exemplu:

    Exemplu de afișare a celulelor de tabel goale
    gol-celule: arată;
    1 2 3
    2
    3
    gol-celule: ascunde;
    1 2 3
    2
    3


    Pentru a înțelege cum funcționează proprietatea de celule goale din acest exemplu este foarte simplu, dacă este setat să se ascundă, atunci celulele goale și fundalul din ele vor fi ascunse, dacă sunt setate să arate (implicit), atunci vor fi afișate.

    Locația antetului tabelului

    Să ne uităm la o altă proprietate simplă pentru tabelele de styling - caption-side, care setează poziția subtitrării tabelului (deasupra sau sub tabel). În mod implicit, proprietatea din partea subtitrării este setată în partea de sus, ceea ce plasează subtitrarea deasupra tabelului. Pentru a plasa titlul sub tabel, trebuie să utilizați proprietatea cu valoarea inferioară.

    Să vedem un exemplu de utilizare a acestei proprietăți:

    Exemplu de utilizare a proprietății caption-side
    Trecând deasupra mesei
    NumePreț
    Un pește350 de ruble
    Carne250 de ruble

    Titlu sub tabel
    NumePreț
    Un pește350 de ruble
    Carne250 de ruble


    În acest exemplu, am creat două clase care controlează poziția antetului tabelului. Clasa întâi ( .topCaption) pune titlul tabelului deasupra acestuia, l-am aplicat la primul tabel, iar clasa a doua ( .bottomCaption) plasează titlul tabelului sub el, l-am aplicat celui de-al doilea tabel. Clasă .topCaption are o proprietate implicită a subtitrării și a fost creat în scop demonstrativ.

    Rezultatul exemplului nostru:

    Aliniere orizontală și verticală

    În majoritatea cazurilor, atunci când lucrați cu tabele, va trebui să ajustați alinierea conținutului în antet și celule de date. Proprietatea text-align este utilizată pentru alinierea orizontală similară cu orice informație text. Am discutat despre utilizarea acestei proprietăți pentru text mai devreme în articolul „”.

    Pentru a seta alinierea pentru conținutul din celule, trebuie să utilizați cuvinte cheie speciale cu proprietatea text-align. Să luăm în considerare aplicarea cuvintelor cheie ale acestei proprietăți în exemplul următor.

    Exemplu de aliniere orizontală într-un tabel
    SensDescriere
    stângaAliniază textul celulei la stânga. Aceasta este valoarea implicită (dacă direcția textului este de la stânga la dreapta).
    dreaptaAliniază textul celulei la dreapta. Aceasta este valoarea implicită (dacă direcția textului este de la dreapta la stânga).
    centruAliniază textul celulei la centru.
    justificaSe întinde liniile astfel încât fiecare linie să aibă aceeași lățime (întinde textul celulei pentru a se potrivi lățimii).


    În acest exemplu, am creat patru clase, care a setat diferite aliniere orizontale în celule și le-a aplicat în rândurile din tabel. Valoarea din celulă se potrivește cu valoarea proprietății text-align

    Rezultatul exemplului nostru:

    În plus față de alinierea orizontală, puteți defini și alinierea verticală în celulele tabelului utilizând proprietatea de aliniere verticală.

    Vă rugăm să rețineți că atunci când lucrați cu celule de masă, sunt utilizate numai următoarele valori * ale acestei proprietăți:

    * - Valorile sub, super, text-top, text-jos, lungime și% aplicate la celula tabelului se vor comporta ca și cum ar folosi valoarea de bază.

    Să vedem un exemplu de utilizare:

    Exemplu de aliniere verticală într-un tabel
    SensDescriere
    de bazăAliniază linia de bază a celulei la linia de bază a părintelui. Aceasta este valoarea implicită.
    topAliniază conținutul celulei vertical la partea de sus.
    mijlocAliniază conținutul celulei vertical la mijloc.
    partea de josAliniază conținutul celulei vertical la partea de jos.


    În acest exemplu, am creat patru clase, care a setat diferite alinieri verticale în celule și le-a aplicat în rândurile de tabel. Valoarea din celulă se potrivește cu valoarea proprietății de aliniere verticală care a fost aplicată acelui rând.

    Algoritm pentru plasarea aspectului tabelului de către browser

    CSS folosește implicit algoritmul de aspect al tabelelor din browser. În acest caz lățimea coloanei este setată de cel mai larg conținut neîntrerupt al celulei. Acest algoritm poate fi lent în unele cazuri, deoarece browserul trebuie să citească tot conținutul din tabel înainte de a stabili aspectul final.

    Pentru a schimba tipul de aspect al tabelului de către browser cu automat pe fix, trebuie să utilizați proprietatea CSS de dispunere a tabelelor setată la fix.

    În acest caz, plasarea orizontală depinde doar de din lățimea tabelului și lățimea coloanelor și nu din conținutul celulelor. Browserul începe să afișeze tabelul imediat după primirea primului rând. În consecință, algoritmul fix vă permite să creați aspectul unui astfel de tabel mai repede decât utilizarea versiunii automate. Când lucrați cu tabele mari, puteți utiliza un algoritm fix pentru a îmbunătăți performanța.

    Să vedem aplicația acestei proprietăți cu următorul exemplu:

    Un exemplu de utilizare a proprietății tabel-aspect
    dispunerea tabelului: auto;
    Nume 2009 2010 2011 2012 2013 2014 2015 2016
    Grâu 125 215 2540 33287 695878 1222222 125840000 125
    dispunerea tabelului: fix;
    Nume 2009 2010 2011 2012 2013 2014 2015 2016
    Grâu 125 215 2540 33287 695878 1222222 125840000 125


    În acest exemplu, noi:

    Stilul rândurilor și coloanelor tabelelor

    Am atins deja parțial metodele de stilare a rândurilor și coloanelor tabelului din articolul „”. În acest articol, am analizat utilizarea unei pseudo-clase de grup care vă permite să alternați stilurile de rând în tabele folosind valori chiar (sincer) și ciudat (ciudat), sau prin elementare formula matematică.

    Să revedem tehnicile anterioare și să explorăm noi modalități de a stiliza rândurile și coloanele din tabele. Să trecem la exemple.

    Un exemplu de utilizare a pseudo-clasei nth-child cu tabele
    1 2 3 4 5 6 7 8 9 10 11 12 13 14
    2
    3
    4


    În acest exemplu, noi:

    Rezultatul exemplului nostru:

    Să trecem la următorul exemplu, în care vom analiza opțiunile pentru coafarea rândurilor tabelelor.

    Un exemplu de rânduri de stil în tabele
    ServiciuPreț
    Sumă 15 000
    1 1 000
    2 2 000
    3 3 000
    4 4 000
    5 5 000


    În acest exemplu, noi:

    • Setați lățimea tabelului la 100% din lățimea elementului părinte, setați antetul și celulele de date la o margine solidă de 1 px.
    • Instalat pentru articol
    1 2 3 4 5


    În acest exemplu, noi:

    • Centrați masa cu căptușeli, setați lățimea și înălțimea celulelor antetului la 50 px, specificat transparent chenar 5 pixeli.
    • S-a constatat că atunci când se deplasează (pseudo-clasa: hover) peste celula de antet, devine fundalul albastru culori, portocale culoarea textului, chenar portocale culori 5 pixeli și o rază de 100%.
    • Frontieră transparentă este necesar pentru a rezerva spațiu pentru chenar, care va fi afișat pe hover, dacă acest lucru nu se face, tabelul va „sări”.

    Rezultatul exemplului nostru:

    Următorul exemplu atinge utilizarea elementelor HTML

    Numarul aplicatieiServiciupreț, frecați.Total
    1Cântând 6 000 6 000
    2spalatul 2 000 2 000
    3Curățare 1 000 1 000
    4Sâcâială 1 500 1 500
    5Citind 3 000 3 000


    În acest exemplu, noi:

    Rezultatul exemplului nostru:

    Ei bine, și ultimul exemplu, care este destul de dificil de înțeles și necesită cunoștințe avansate în CSS, deoarece atinge subiecte viitoare planificate pentru studiu detaliat în cadrul acestui curs.

    În exemplul anterior, ne-am dat seama că prin Element HTML

    Numarul aplicatieiServiciupreț, frecați.Total
    1Cântând 6 000 6 000
    2spalatul 2 000 2 000
    3Curățare 1 000 1 000
    4Sâcâială 1 500 1 500
    5Citind 3 000 3 000


    În acest exemplu, noi:

    • Ne-am setat tabelul să ocupe 100% din elementul părinte, celulele tabelului ocupă 25% din elementul părinte și au o margine solidă de 1 pixel verde, anteturile și celulele de date au 45px înălțime. Am eliminat decalajul dintre celule folosind proprietatea border-collapse cu valoarea .
    • Astfel, folosind pseudo-elementul :: după, adăugați conținut după fiecare element. pe plan. Pseudo-elementul :: after este în mod necesar utilizat împreună cu proprietatea de conținut, datorită căreia inserăm un element bloc care are o culoare de fundal padure verdeși are poziționare absolută.
    • Poziționarea absolută aici este necesară pentru a compensa elementul relativ la marginea specificată a strămoșului său, în timp ce strămoșul trebuie să aibă o valoare de poziție diferită de statica implicită, altfel numărul va fi relativ la marginea specificată a ferestrei browserului, din acest motiv am pus la masă poziționarea relativă(relativ).
    • Am setat pentru blocul nostru generat proprietatea de sus, care indică direcția de decalare a elementului poziționat de la marginea de sus și proprietatea de jos, care indică direcția de decalare a elementului poziționat de la marginea de jos. Pentru ambele proprietăți, a fost specificată valoarea 0, deci blocul va ocupa complet elementul din partea de jos și de sus a tabelului, lățimea acestui bloc a fost setată la 25%, această valoare corespunde cu valoarea lățimii celulei în sine.
    • Și proprietatea finală pe care am setat-o ​​pentru acest bloc: indexul z cu o valoare „-1” determină ordinea elementelor poziționate prin Axa Z... Această proprietate este necesară pentru ca textul să fie în fața acestui bloc și nu în spatele acestuia, dacă nu setați o valoare mai mică decât zero, atunci blocul va închide textul.

    Rezultatul exemplului nostru:

    Dacă în această etapă a studiului nu înțelegeți procesul de poziționare a elementelor, atunci nu vă descurajați, acesta este un subiect greu de înțeles, pe care, de asemenea, nu l-am luat în considerare, dar cu siguranță îl vom lua în considerare în următorul articol al tutorial „Elementele de poziționare în CSS”.

    Întrebări și sarcini pe această temă

    Finalizați activitatea practică înainte de a trece la următorul subiect:


    Dacă întâmpinați dificultăți la finalizarea practicii, puteți deschide oricând exemplul într-o fereastră separată și puteți inspecta pagina pentru a vedea ce CSS a fost utilizat.


    2016-2020 Denis Bolshakov, puteți trimite comentariile și sugestiile dvs. despre activitatea site-ului la site-ul [email protected]