Modernizzare il web

Venerdì 3 Luglio 2009 - 08:48

di Cesare Lamanna

CSSScripting

Io non so davvero se salverà il mondo consentendo un’accelerazione decisiva nell’adozione dei CSS3 pur in assenza di un supporto esteso a tutti i browser. Fatto sta che le soluzioni basate su script o librerie che permettono di implementare le nuove funzionalità previste dalla specifica non si contano più.

Modernizr di Faruk Ates segue a dire il vero un approccio diverso. Semplificando: non permette di creare angoli arrotondati o trasparenze o animazioni CSS sui browser che non supportano tali funzionalità, ma semplifica la dichiarazione di fallback e soluzioni alternative. Il tutto attraverso un meccanismo che ricorda quello degli if... else e che viene implementato con l’aggiunta di specifiche classi all’elemento body.

Un esempio chiarirà meglio il tutto. Una volta aggiunto lo script, esso testa il supporto di certe funzionalità dei CSS3. Facciamo il caso degli sfondi multipli. Su Safari 4, che li supporta, sarà aggiunta in fase di rendering della pagina la classe multiplebgs, su IE8, che non li supporta, la classe no-multiplebgs. Su questa base si potranno scrivere nel modo più opportuno i CSS:

body.multiplebgs div p {
  /* per i browser che
     supportano gli sfondi multipli */
}
body.no-multiplebgs div p {
  /* fallback
     per i  browser che non li supportano */
}

Oltre che per i CSS3, Modernizr è utile per applicare gli stili a nuovi elementi HTML5 come section o header.

Tags:

Categoria: CSS, Scripting | Permalink

sponsor

Commenti

1

Mooolto interessante e… w il made in Italy! :-)

# - postato da idrolitina - 03 Luglio 2009 - 17:28

2

Interessante come progetto, peccato che il sito sia un pugno nell’occhio!

# - postato da francesco - 06 Luglio 2009 - 09:23

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento