Calculul latimii coloanelor dintr-un tabel
Latimea unei coloane poate fi specificata în trei moduri:
Fix
Specificarea unei latimi fixe este data în pixeli (ex. width="30"). Aceasta metoda permite afisarea tabelelor în mod incremental (pe masura ce se încarca rîndurile tabelului).
Procent
Specificarea unei latimi ca procent (ex. width=" ") este data în functie de latimea disponibila pentru întreg tabelul. Aceasta nu depinde de tabelulul însusi, si astfel aceasta metoda permite si ea afisarea tabelelor incremental.
Proportional
Specificarea unei latimi în mod proportional (ex. width="3*") se refera la portiunile de spatiu orizontal solicitate de tabel. Daca latimea tabelului este data ca o valoare fixa, prin intermediul atributului width al elementului TABLE, atunci si aceasta metoda permite afisarea tabelelor incremental.
Daca, însa, tabelul nu are o latime fixa, browserele trebuie sa astepte încarcarea integrala a tabelului înainte de a determina latimea orizontala ceruta de tabel. Numai atunci se poate determina si latimea coloanelor.
Daca nu se specifica nici o informatie despre latimea unei coloane, browserele nu vor capabile sa formateze tabelul incremental, întrucît trebuie sa astepte întregul continut al coloanei pentru a determina latimea acesteia.
Daca latimea coloanei se dovedeste prea mica pentru continutul acesteia, browserele pot alege sa reformateze tabelul.
Exemplu:
Tabelul urmator are 6 coloane. Prima nu apartine explicit nici unui grup. Urmatoarele trei apartin explicit primului grup si ultimele doua apartin celui de al doilea grup explicit. Acest tabel nu poate fi afisat incremental întrucît contine coloane cu latimi specificate proportional si atributul width al lui TABLE nu are specificat nici o valoare.
<TABLE>
<COLGROUP>
<
<COLGROUP>
<
<
<
<COLGROUP align="center">
<
<
<THEAD>
<TR><TD> ...
...rîndurile tabelului...
</TABLE>
În momentul în care browserul receptioneaza toate datele din tabel, spetiul orizontal disponibil va fi alocat coloanelor dupa cum urmeaza:
Se aloca 30 de pixeli coloanelor unu si doi.
Se rezerva spatiul minimal pentru coloana trei.
Spatiul orizontal ramas disponibil este împatit în 6 parti egale (întrucît 2* + 1* + 3* = 6 parti egale).
Coloana a patra (2*) va primi 2 parti, coloana a cincea (1*) o parte si coloana a sasea (3*) va primi 3 parti.
Valoarea atributului align
din coloana a treia este "center". Toate celule din fiecare coloana din acest grup vor
mosteni aceasta valoare, dar o pot suprapune. De fapt,
Exemplu:
Tabelul urmator, asa cum are descrisa latimea, permite formatarea (si implicit si afisarea) incremental:
<TABLE width="200">
<COLGROUP span="10" width="15">
<COLGROUP width="*">
<
<
<THEAD>
<TR><TD> ...
...rîndurile tabelului...
</TABLE>
Primele 10 coloane au fiecare cîte 15
pixeli latime. Ultimele doua coloane vor primi fiecare
jumatate din cei 50 de pixeli care mai ramîn.
|