Monday, April 28, 2008

Cand marimea fontului din CSS nu e mostenita in tabele

Deși există riscul să fi devenit div-aholic, uneori e mai rapid să refolosești ceva deja existent decât să reconstruiești. Și așa m-am lovit de problema ce-și regăseste soluția în acest articol!

În Internet Explorer 6 (sau versiuni anterioare) textul conținut în tabele nu moștenește proprietățile fontului declarate în CSS pentru body , deși pentru restul elementelor funcționează de minune.

Printre variantele care funcționau, am găsit una care mi se pare deosebit de elegantă: o singură linie de cod în plus la proprietațile tabelelor:

table{font-size: 1em;}

Doar atât! :D

Alternativ, mai era și varianta cu declararea corectă a DTD-ului, dar la mine nu a funcționat pentru IE6. :-?

4 comments:

adi said...

cred (n-am testat) ca mai este si varianta cu "html * {font-size: bla bla bla}" - mai scurta decat aia cu table (pentru ca nu mai declari odata pentru totdeauna :D

repet, e netestata

Marius said...

Hmm... teoretic mă gândeam că ar trebui să meargă fără probleme așa cum zici tu; practic suprascrii ulterior ce prorietăți ai nevoie să fie diferite.

Întradevăr, pentru valori absolute funcționează!

Totuși, din curiozitate am și încercat un scenariu mai deosebit: valori procentuale. Dacă am în CSS
html * {font-size: 75%;}
și în HTML ceva nested gen
[p]Poveste [span]fără [b]sfârșit[i]![/i][/b][/span][/p]
mărimea fontului va descrește treptat...

Comică treabă! :)

adi said...

nu e comica. e logica. pe langa asta nu prea e indicat sa folosesti procente la font-uri (cel putin din cate stiu eu) - procentual inseamna relativ la precendentul, si daca P are 75% din dimensiunea default din browser, span va avea 75% din dimensiunea P-ului (adica jumatate din browser default) si tot asa.

Inca un argument impotriva dimensionarii relative este: ce te faci daca utilizatorul isi pune default un font de 5 pixeli si tu nu ai setat in prealabil o constanta la care sa te raportezi?

Marius said...

E logică, de asta am și încercat-o. Și se comportă exact cum ai descris tu. :D
Doar că cealaltă variantă merge și în cazul valorilor relative procentuale.

Cât despre "relativ ca relativ, dar relativ la ce", sunt întru totul de acord cu tine, Adi.