Guida all’utilizzo dei commenti condizionali

18 Dicembre 2010Scritto da mario5

Per limitare le falle di renderizzazione del contenuto Internet Explorer ha introdotto i commenti condizionali, essi sono dei veri e propri filtri o agganci per modificare delle proprietà nei fogli di stile solo con una determinata versione di Internet Explorer. Questo metodo “dovrebbe” porre rimedio agli innumerevoli problemi di compatibilità tra IE ed il resto del mondo.

Sintassi commenti condizionali

Per correttezza, in teoria, si collocano nei tag <head> ma in pratica funzionano un pò dappertutto. Di solito per convenzione vanno applicati subito dopo la dichiarazione del css madre.

Un esempio di sintassi è la seguente:


dove in espressione anteponiamo la versione di Internet Explorer per la quale vogliamo alterare il risultato, mentre in dichiarazione ciò che vogliamo eseguire (un foglio di stile, un’istruzione, ecc…), nel dettaglio:


Verifica se il browser che stiamo utilizzando è Internet Explorer (qualsiasi versione).


Verifica se il browser che stiamo utilizzando è Internet Explorer vers. 5.


Verifica se il browser che stiamo utilizzando è Internet Explorer vers. 6.


Verifica se il browser che stiamo utilizzando è Internet Explorer vers. 7.


Verifica se il browser che stiamo utilizzando è Internet Explorer vers. 8.


Verifica se il browser che stiamo utilizzando è Internet Explorer vers. 9.

Operatori

Oltre all’operatore di uguaglianza precedentemente illustrato (if IE), sono a disposizione dei webmasters altri operatori, eccoli nel dettaglio:


L’operatore gt (greater than) verifica che la versione del browser sia superiore alle versione 6 (ad esempio), se è vero esegue la dichiarazione.


L’operatore gte (greater than or equal) verifica che la versione del browser siasuperiore o uguale alle versione 6 (ad esempio), se è vero esegue la dichiarazione.


L’operatore lt (less than) verifica che la versione del browser siainferiore alle versione 7 (ad esempio), se è vero esegue la dichiarazione.


L’operatore lte (less than or equal) verifica che la versione del browser siainferiore o uguale alle versione 7 (ad esempio), se è vero esegue la dichiarazione.


L’operatore ! (not) verifica che la versione del browser siadiversa in questo caso da tutti gli explorer, se è vero esegue la dichiarazione.


L’operatore & (and) verifica che la versione del browser siamaggiore alla versione 5 e inferiore alla versione 7. Se è vera questa condizione esegue la dichiarazione.


L’operatore | (or) verifica che la versione del browser sia la 5 oppure la 7. Se è vera questa condizione esegue la dichiarazione.

Esempi di commenti condizionali

Vi mostrerò un esempio concreto di utilizzo di commenti condizionali. Supponiamo il caso che ho realizzato una pagina web perfettamente compatibile con tutti i browser in circolazione meno che la versione 6 e 7 di Internet Explorer dove ho bisogno di sistemare dei margini di un div, il risultato sarebbe il seguente:

       
       

Cosi facendo ho modificato il valore delle due classi #main e #main .header solo per i browser Internet Explorer 6 e 7 lasciando intatto ogni altro risultato.

Analogamente possiamo anche passare un intero foglio di stile se le classi da modificare sono parecchie:

       
       

In questo modo se il browser è una versione 6 o 7 di Internet Explorer eseguirà in cascata:

  • Il foglio di stile principale;
  • Se è una versione 6 o 7 di IE leggerà anche quello condizionale;
  • Mette a confronto entrambi i fogli di stile;
  • Quando trova 2 classi uguali in entrambi farà prevalere quella nel commento condizionale;
  • Esegue il render della pagina.

Javascript nei commenti condizionali

Oltre a modificare lo stile grafico di una pagina essa può essere alterata aggiungendo script come ad esempio Javascript:


Scritto da mario

Agile web e mobile developer, attraverso il blog mette in campo l'esperienza acquisita quotidianamente sul mondo del lavoro.

5 comments

  • A. Drago

    18 Dicembre 2010 at 15:01

    Grazie!

    Reply

  • Inspiration

    18 Dicembre 2010 at 15:19

    bell’articolo, molto completo. ad esempio pensavo si potessero inserire solo css ed invece c’è la possibilità di inserire javascript. ottimo

    Reply

  • pask82

    18 Dicembre 2010 at 15:23

    fatemi capire ma anche la versione 9.0 supporterà i commenti condizionali? Se ciò è vero avvalora la mia tesi: ie non è ancora un browser accessibile.

    Reply

    • Daniela Giacchetti

      15 Luglio 2011 at 0:41

      non vorrei dire una cavolata ma mi sa tanto di no

      Reply

  • Att. Ferrante

    9 Giugno 2011 at 21:52

    mi hanno spesso salvato da figuracce 🙂

    Reply

Lascia un commento

Your email address will not be published. Required fields are marked *

https://www.fullstacksas.it/wp-content/uploads/2021/11/FULLSTACK-LOGO-MINI-150x131.png

Via Vito Rosa, 7
70127 Bari – IT
P.iva – 08087100726

Gli attrezzi del mestiere

Full Stack Sas – p.iva 08087100726 – Rea n. BA – 603324

Copyright 2019. Bold Themes. All rights reserved.

bt_bb_section_top_section_coverage_image