Categories: sviluppo web

Filtrare i css con i commenti condizionali

In un mondo perfetto tutti i browser esibirebbero un comportamento omogeneo nell’interpretare le regole css.

Questo, pero’, non e’ un mondo perfetto ed e’ spesso necessario fare ricorso ad hack (filtri, trucchi) per differenziare le istruzioni a seconda del browser
utilizzato.

Nel corso degli anni, numerosi hack sono stati sviluppati per ovviare ai bachi dei browser (Internet Explorer in primis).

Il metodo piu’ sicuro per intervenire e’ tuttavia offerto dalla tecnica dei
commenti condizionali. Essi sono commenti xhtml scritti con una
particolare sintassi, riconosciuta solamente da Internet Explorer per Windows.

Vediamone l’utilizzo pratico:

<!--[if espressione]> Qui il codice xhtml <![endif]-->

Se la condizione espressione e’ soddisfatta, vengono eseguite le espressioni
xhtml.

Commenti condizionali: esempi concreti di uso

<!–[if IE]> codice xhtml <![endif]–>

Il codice viene interpretato solo se il browser e’ Internet
Explorer

<!–[if lt IE 5]> codice xhtml <![endif]–>

Il codice viene interpretato solo se il browser e’ Internet Explorer versione
inferiore alla 5

<!–[if lte IE 5]> codice xhtml <![endif]–>

Il codice viene interpretato solo se il browser e’ Internet Explorer versione
uguale o inferiore alla 5

<!–[if IE 5]> codice xhtml <![endif]–>

Il codice viene interpretato solo se il browser e’ Internet Explorer
5

<!–[if gte IE 5]> codice xhtml <![endif]–>

Il codice viene interpretato solo se il browser e’ Internet Explorer versione
uguale o superiore alla 5

<!–[if gt IE 5]> codice xhtml <![endif]–>

Il codice viene interpretato solo se il browser e’ Internet Explorer versione
superiore alla 5

<!–[if !IE 5.5]> codice xhtml <![endif]–>

Il codice viene interpretato solo se il browser e’ Internet Explorer versione
diversa dalla 5.5

 

Molto utile e’ la possibilita’ di caricare, dopo il foglio di stile generico,
fogli di stile specifici
, ad esempio, per le differenti versioni di Internet
Explorer.

Come sempre, un esempio e’ il modo piu’ chiaro per illustrare il concetto.

Supponiamo di aver richiamato, nell’head del codice xhtml, un foglio di stile
generico:

 

<link rel="stylesheet" href="stile_generico.css" type="text/css" />

 

ora carichiamo, dopo la precedente istruzione, un foglio di stile con le correzioni necessarie per le versioni di Internet Explorer inferiori alla 6:

 

<!--[if lte IE 6]>
<link rel="stylesheet" href="ie5fix.css" type="text/css" />
<![endif]-->

 

Fatto!

 

paolo

Share
Published by
paolo

Recent Posts

Il peeking problem: perché sbirciare l’A/B test gonfia i falsi positivi

Il 21 gennaio 2015 Optimizely — una delle piattaforme di A/B testing più usate al…

2 giorni ago

Regressione verso la media: l’ottimizzazione SEO che ha funzionato… per caso

Nell'aeronautica militare israeliana, racconta Daniel Kahneman, gli istruttori erano convinti di una cosa: lodare un…

3 giorni ago

Correlazione: Pearson, Spearman e Kendall (e perché non è causazione)

Chi guarda i dati di un sito lo fa di continuo, spesso senza nemmeno accorgersene,…

6 giorni ago

Effect size e power analysis: quanto è grande l’effetto (e quanti dati servono)

Abbiamo chiuso l'articolo sul calcolatore di significatività con una promessa. Dicevamo che il p-value risponde…

1 settimana ago

Calcolatore di Significatività per A/B Test

Il nostro A/B test è arrivato alla fine: la variante B mostra un tasso di…

2 settimane ago

La biblioteca di Statistica e SEO: i libri che consiglio (e perché)

C'è una domanda che torna, puntuale, ogni volta che pubblico un articolo di questo percorso:…

2 settimane ago