Home
Luci e ombre tra CSS2 e CSS3

04 Ottobre 2005

Luci e ombre tra CSS2 e CSS3

di

L’utilizzo dei Fogli Stile è sempre più diffuso. Ma mentre la prassi lavorativa che divide nettamente il momento della strutturazione dei contenuti da quello della loro formattazione è adottata da un numero crescente di sviluppatori, i CSS2 sono oggetto di revisione e le promesse dei CSS3 lentamente prendono forma.

Tutto questo deve far riflettere. La domanda che forse vale la pena – nuovamente – porsi è: perché fino a oggi i CSS hanno faticato a imporsi? Perché molti sviluppatori hanno preferito proseguire sulla strada della fusione tra struttura e presentazione magari utilizzando editor in modalità solo visuale, assolutamente non adatta a produrre pagine conformi agli standard?

Prima di proseguire voglio sottolineare che chi scrive è un sostenitore dell’utilizzo dei CSS fin dal momento della prima visita nell’oramai famigerato CSSZenGarden.

È stato proprio navigando nella galleria di Dave Shea che ho cominciato a interessarmi a questa tecnologia e alle sue potenzialità. I vantaggi mi sono parsi fin dall’inizio evidenti. La separazione di struttura e presentazione – unita all’applicazione degli standard codificati dal W3C, XHTML e CSS – permette tempi di sviluppo e manutenzione ridotti, pagine più leggere e veloci da caricare (con conseguente riduzione dello spreco di banda), codice più pulito e semanticamente più corretto (quindi con maggiori possibilità di essere ben indicizzato dai motori di ricerca), il tutto senza sacrificare l’aspetto grafico, il layout. Vantaggi quindi, anche economici, per utenti, sviluppatori e relativi clienti.

Partendo da questi presupposti la faticosa adozione dei CSS (quantomeno del level 2) e delle relative tecniche di sviluppo che generalizzando si possono porre sotto l’etichetta di no table, non sembra spiegabile se non con la pessima, o incompleta, implementazione che alcuni browser di ampia diffusione ne fanno, o meglio ne hanno fatto.

Allo stato attuale, il problema maggiore, lo scoglio più arduo da superare lavorando con i CSS, è quello dell’impaginazione. Chi ha provato a cimentarsi con la formattazione di una pagina basata solo su elementi di blocco (normalmente

) e regole CSS per posizionamenti assoluti, fissi o float, sa bene quanto sia difficile, per esempio, ottenere un’impaginazione a tre colonne completamente omogenea sui più diffusi browser. Da qui la necessità di ricorrere a hack o trucchi, non necessariamente complicati ma che certo non si trovano nelle specifiche ufficiali e che si imparano con pazienza, dedicando tempo allo studio e alla navigazione in Rete tra forum e siti tematici.

Tempo che non tutti hanno. Il tempo, si sa, è denaro: il cliente aspetta preoccupato più che altro dall’aspetto del suo sito, non da come questo è stato ottenuto. Quindi perché non lavorare ancora impaginando a tabelle e utilizzando tag presentazionali?

Questa difficoltà indiscutibile sembra aver scoraggiato molti professionisti del Web, ma da sola non è sufficiente a giustificare il mancato interesse verso i Fogli Stile.

Impaginazione a parte, i CSS sono sufficientemente completi e ben supportati per definire in maniera funzionale e creativa tutti gli altri elementi di una pagina web. Per esempio l’applicazione di:hover agli elementi <a> permette di costruire con semplicità menu di navigazione funzionali e esteticamente ricchi di delicati effetti, il tutto senza Javascript.

Queste e altre applicazioni dei Fogli Stile sono veramente alla portata di tutti, così come alla portata e all’interesse di tutti è utilizzare i CSS per avere un sito web portabile su diversi dispositivi o media (PC, palmare, cellulare, stampante, TV ecc.).

Insomma vantaggi indiscutibili e attuali, a cui si oppone l’ostacolo dell’impaginazione.

Tuttavia questa impasse è facilmente superabile, con un impegno in termini di tempo e formazione minimo, basta un minimo di flessibilità.

Se utilizzare i CSS per definire le griglia di una pagina non è oggi alla portata di tutti, tutti possono invece imparare in poco tempo la sintassi CSS per lavorare professionalmente alla presentazione dei contenuti.

Quindi i webmaster meno esperti possono con tranquillità sfruttare e godere e potenzialità dei CSS, delegando alle tabelle la definizione della griglia di una pagina. Un approccio di sviluppo che rispetta così la separazione di struttura da presentazione, il cui unico neo consiste nell’utilizzo semanticamente non corretto delle tabelle. Uno step di apprendimento intermedio e non traumatico, per avvicinarsi a una tecnologia di cui nel futuro non si potrà fare a meno.

Già, perché nel futuro non ci saranno veramente più scuse.

Se fino a oggi problemi di compatibilità e implementazione tra browser e limiti tecnici sono stati gli scudi dietro cui si sono nascosti i detrattori dell’utilizzo dei CSS, con CSS3, attualmente in fase di sviluppo, si spalancherà veramente un nuovo orizzonte.

Ho parlato prima delle difficoltà di impaginazione. Bisogna a questo proposito dire che esse sono tali anche perché CSS2 non prevede altre possibilità per definire la griglia di una pagina se non la definizione di un equilibrio tra blocchi. Allo stesso modo non c’è nessuna regola che permette di controllare la forma dei bordi di un box, il che vuol dire che per arricchire le pagine con angoli arrotondati bisogna ricorrere all’utilizzo e la combinazione di apposite immagini sagomate in modo da ottenere l’effetto desiderato (una tecnica non semplice da imparare).

Questi limiti non sono sfuggiti al gruppo di lavoro che sta attualmente sviluppando il working draft di CSS3. Tra le proprietà che la prossima generazione dei Fogli Stile promette di portare con se spiccano infatti quelle legate al layout a più colonne o alla formattazione degli angoli degli elementi di blocco.

Pagine a più colonne con angoli variamente arrotondati saranno quindi realizzabili solo con poche righe di codice CSS attraverso le proprietà column-count e border-radius. E a queste nuove funzionalità è ragionevole pensare che se ne aggiungeranno altre, anche più entusiasmanti.

Ci sono quindi i presupposti affinché nel futuro i CSS diventino a tutti gli effetti la tecnologia principe per la formattazione delle pagine web. A questi presupposti bisogna poi aggiungere i vantaggi reali – non trascurabili – che CSS2 già oggi permettono, pur nella loro implementazione incompleta.

Vale quindi la pena cominciare a prendere confidenza con tutto quello che il level 2 oggi consente, perché, si sa, il futuro arriva spesso velocemente e l’alba che si vede all’orizzonte promette di spazzare via definitivamente le ombre del recente passato.

L'autore

  • Fabio Brivio
    Fabio Brivio laurea in Storia Medievale e master in Informatica e Comunicazione, è il Responsabile per l'Editoria e la Formazione in Apogeo. Si interessa alla ricerca e allo sviluppo di soluzioni per l’editoria digitale e crede nella sinergia tra scienze umane e tecnologia. Ha ideato e coordinato lo sviluppo di un CMS utilizzato dagli editori del Gruppo Feltrinelli. Lo potete trovare in Rete partendo da briv.io oppure in cammino lungo qualche antica via tra Santiago, Roma e Gerusalemme.

Vuoi rimanere aggiornato?
Iscriviti alla nostra newletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.

Corsi che potrebbero interessarti

Tutti i corsi
corso-data-governance Simone Aliprandi Corso In aula

Data governance: diritti, licenze e privacy

I dati sono ovunque intorno a noi ma per poterli utilizzare in sicurezza bisogna confrontarsi con temi complessi che riguardano licenze, proprietà intellettuale e privacy. Se non ti senti sicuro o hai paure di prendere la decisione sbagliata, il corso di Simone Aliprandi fa per te.

249,00

Milano - 31/1/2020

con Simone Aliprandi


Libri che potrebbero interessarti

Tutti i libri

Analisi del linguaggio con Python

Imparare a processare testo e audio con le librerie open source

22,50

32,89€ -32%

16,92

19,90€ -15%

12,99

di Serena Sensini

Sviluppare applicazioni Blockchain

Guida per creare sistemi decentralizzati su reti distribuite

29,67

34,90€ -15%

di Michael Juntao Yuan

Clean Agile

Guida per riscoprire i principi cardine dello sviluppo agile di software

19,47

22,90€ -15%

di Robert C. Martin


Articoli che potrebbero interessarti

Tutti gli articoli