Featured Post

[XHTML] DICHIARARE LA LINGUA DELLA PAGINA

Sarebbe una buona cosa dichiarare la lingua principale della pagina quando viene definita una pagina XHTML. Per far ciò si può utilizzare l’attributo xml:lang sul tag HTML con valore la sigla della lingua utilizzata: “it” Italiano, “fr” Francese, “en”...

Read More

Selezione fogli di stile in base al browser – Commenti Condizionali

Posted by admin | Posted in Riconoscimento Browser | Posted on 01-10-2009

Tag:, ,

0

Tra i metodi differenti esistenti per caricare un foglio di stile diverso a seconda del browser, possiamo utilizzare uno strumento offerto da Microsoft Internet Explorer, cioè, i commenti condizionali.

I commenti condizionali sono porzioni di codice HTML definite con la sintassi di commento HTML, per cui ignorate dai browser (a parte Internet Explorer).

Normale commento HTML:

1
<!-- Questo è un commento -->

Il commento è visibile solo nel codice sorgente della pagina e non nella pagina stessa. La soluzione di Microsoft sta quindi di inserire delle condizioni (if) all’interno appunto dei commenti HTML, la sintassi è semplice e così anche le espressioni che vengono valutate.

Commento Condizionale:

1
<!--[if espressione]> Contenuto <![endif]-->

In questo modo è possibile visualizzare dei contenuti a seconda del risultato dell’espressione, anche il codice per caricare un foglio di stile.

Alcuni esempi di espressioni:

1
<!--[if IE]>....<![endif]--> è verificata se il browser è Internet Explorer in qualsiasi versione.
2
<!--[if IE 5]>....<![endif]--> è verificata se il browser è Internet Explorer versione 5 ;
3
<!--[if gt IE 5]>....<![endif]--> è verificata se il browser è Internet Explorer con versione maggiore di 5;
4
<!--[if gte IE 5]>....<![endif]--> è verificata se il browser è Internet Explorer versione 5 o superiore;
5
<!--[if !IE 5]>....<![endif]--> è verificata se il browser non è Internet Explorer 5.

Ovviamente basta sostituire il numero associato alla versione per creare l’espressione di cui abbiamo bisogno, anche creando commenti a cascata.

Ora è immediato il passaggio per caricare un foglio di stile, per esempio carico ie.css in caso di Internet Explorer e comunque il file generic.css:

1
<link rel="stylesheet" href="generic.css" type="text/css" />
2
<!--[if IE]><link rel="stylesheet" href="ie.css" type="text/css" /><![endif]-->

Ha senso che il foglio di stile dedicato ad Internet Explorer sia successivo a quello generico, in quanto permette di sostituire i parametri diversamente definiti.