Ho problemi a scrivere codice CSS manutenibile quando la dimensione del font è specificata con unità EM anziché unità PX. Sono stato abituato a scrivere codice CSS in questo modo:State attenti con le unità CSS em quando sfruttate le regole di specificità?
body {font-size: 12px;}
body .sidebar {font-size:11px;}
body .sidebar .loadmore {font-size:10px;}
body .sidebar .warning {font-size:13px;}
L'idea è che in molte pagine attraverso il sito, c'è un sacco di testo che dovrebbe avere 12 pixel font-size. Approfitto delle regole di specificità per scavalcare la dimensione del font 12px in aree speciali del sito.
Diciamo che ho riscritto il codice di cui sopra come:
body {font-size: 12em;}
body .sidebar {font-size:11em;}
body .sidebar .loadmore {font-size:10em;}
body .sidebar .warning {font-size:13em;}
Se ho sostituito px con em nel codice di cui sopra, la mia comprensione è che perdo il vantaggio di regole di specificità. La riga 3 del codice verrebbe interpretata come "10 em di 11 em di 12 em" che non ha affatto lo stesso significato di "sovrascrivi tutte le regole precedenti e usa 10 em di (qual è il valore predefinito?)". È quello che ho dichiarato corretto?
Se quello che ho detto è corretto, allora come si scrive una regola per la dimensione del carattere come "usa la dimensione del carattere X per tutti gli elementi, ma usa la dimensione del carattere Y sulle barre laterali"?
Vedere il mio esempio http://jsfiddle.net/PJWrW/ . Per gli elementi nidificati, utilizzare valori che si moltiplicano per la dimensione desiderata, ad esempio '1.1em' o' 110% '. – jnylen
@John Le modifiche apportate alla mia risposta originale rispecchiano la tua risposta, ma in breve. jnylen ti sta indicando la strada giusta con il suo utilizzo dei fattori di ridimensionamento. – JDD