I CSS, fogli di stile a cascata (Cascading Style Sheet), permettono di definire la rappresentazione di un documento XHTML. In questo modo i contenuti sono separati dalla formattazione. Una cosa notevole, specie per il fatto che per un file XHTML e’ possibile indicare piu’ file CSS a seconda di chi si occupera’ della visualizzazione. Ad esempio e’ possibile dire di utilizzare un determinato file CSS se il documento sara’ stampato, oppure se sara’ visualizzato da un browser per non vedenti e cosi’ via…
Sarebbe tutto bellissimo, poi, se tutti i browser aderissero agli standard… ma qui e’ chiedere troppo.
Questi giorni ho preparato un template per Joomla in XHTML con l’uso dei CSS. Ora ho davvero compreso le frustazioni di un web designer.
Il file XHTML e i fogli di stile sono tutti aderenti agli standard e sui browser Firefox (Gecko), Opera (Presto) non ho avuto nessun problema. La visualizzazione era come me la aspettavo. Con webkit anche tutto perfetto (e ci mancherebbe).
Il problema e’ stato permettere a browser che non aderiscono agli standard (Internet Explorer 8, 7, 6 e 5.x) di poter visualizzare correttamente la pagina. Almeno per IE7 e 6 che sono i piu’ diffusi attualmente. Fosse stato per me, avrei fatto apparire un bel pop-up dove invitavo l’utente a munirsi di un browser decente. Ma il lavoro mi e’ stato commissionato.
Gia’ prima di iniziare immaginavo che avrei incontrato dei problemi con questi browser. Purtroppo Internet Explorer, nonostante sia migliorato un pochino, non supporta alcune porzioni dei CSS2. La sua scarsa aderenza agli standard ha sempre rappresentato un freno allo sviluppo dei CSS. Anche se il trend si sta invertendo.
Per fortuna IE mette a disposizione i commenti condizionali che permettono di inviare istruzioni solo a questo browser e solo a determinate porzioni. Ad esempio tramite queste istruzioni, carico un CSS solo per IE7:
L’importante e’ seguire questa metodologia:
“Standard first” approach. Leave IE/Win for last, then hack like a surgeon.
Cioe’: prima secondo lo standard. Lascia IE/Win per ultimo e infine “hacka” come un chirurgo ![]()
Preparerò un articolo con i vari hack e workaround che ho dovuto applicare per permettere una chiara visualizzazione (forse meno ricca) anche a IE dalla versione 5.05 alla 8.