CSS condizionali con XSLT
Mercoledì 28 Gennaio 2009 - 09:11
di Andrea Zilio

Grazie ad Ajaxian vengo a conoscenza di un nuovo e particolare metodo per fornire fogli di stile ad hoc per vari browser.
Con questa tecnica basta utilizzare un attributo del classico tag <link> o <style> per specificare i browser in cui gli stili dovranno essere intepretati ed il gioco è fatto.
Ecco ad esempio il codice per applicare un file CSS solo alle pagine visualizzate con Firefox o Safari 3:
<link rel="stylesheet" type="text/css" href="..." dr:select="Firefox, Safari 3" />
Javascript? No! Tutto funziona grazie ad un file XSLT che, applicato come descritto al codice XHTML della pagina, rileva il browser e nasconde i tag in base a quanto indicato dall’attributo dr:select.
Utilizzare in questo modo le trasformate XSL è sicuramente ingegnoso e questo metodo, rispetto ai classici commenti condizionali di Internet Explorer, permette di fornire fogli di stile specifici anche per altri browser come Safari, Opera, Firefox, ecc… Tutto senza richiedere che Javascript sia abilitato.
Limitazioni? Non ho avuto modo di testare, ma l’unico limite dovrebbe essere la necessità di fornire il documento come text/xml.
Commenti
1
Non ho avuto modo di testare, ma l’unico limite dovrebbe essere la necessità di fornire il documento come text/xml.
Mhh… ma poi IE (Meglio: Windows) lo legge, o fa come i documenti serviti come application/xhtml+xml (save as…) ?
# - postato da RiKK - 28 Gennaio 2009 - 09:25
2
veramente molto interessante. Mi riprometto di fare qualche prova!
3
i documenti XSLT devono essere processati no? Bisogna impostare il server perché supporti l’xslt.
Qualche mese fa volevo studiarmi bene questa tecnologia per usarla con il cms/framework symphony (http://symphony21.com/) ma poi mi sono dedicato ad altro e non ho ancora avuto l’occasione di approfondire.
4
Ciao,
ho letto e valutato la news… tuttavia considerando che ormai è possibile realizzare un css unico per tutti i browser e limitarsi a servire qualche correzione per IE, secondo me il gioco non vale la candela.
5
Ottima segnalazione, appena mi capita lo provo e vedo come si comporta.
Grazie.
6
fornendo il documento come text/xml ricorre l’obbligo di codificare il documento ed il suo contenuto come UTF8
credo che chi ha problemi coi charset avrà un pò di noie ad usare questo ottimo metodo
# - postato da Salvatore Pecoraro - 29 Gennaio 2009 - 00:59
7
Ho trovato il tempo di provare questo metodo e, nonostante il sito dell’autore lasci intendere diversamente, sembra che tutto ciò non funzioni con Internet Explorer 7 che da un errore al caricamento della pagina.
(notare che con Internet Explorer 6 funziona)Spero sia un problema risolvibile e di poco conto.
# - postato da Andrea Zilio - 29 Gennaio 2009 - 01:39







