Blog

Tabelle o puro CSS?

webmaster: 28/09/09 @ 07:01
Ci sono un grande numero di persone che continuano a insistere su quanto sia migliore usare puro CSS senza usare le classiche tabelle. Le motivazioni ruotano sempre intorno a due punti fondamentali: il codice CSS è più leggero e il codice CSS è semanticamente più corretto. Ho sempre programmato usando le tabelle e il CSS dove serviva, ma da un paio di anni a questa parte ho voluto fare il grande salto e provare a scrivere codice in pure CSS - cioè senza usare tabelle.

Pessima idea!

Il CSS è incentrato sull'idea di usare tag che descrivano il contenuto, pittosto che sull'uso di tag per disegnare un sito. Non che non sia possibile usare il CSS per disegnare un sito, ma il tempo e l'energia richiesti per creare anche il più semplice dei layout è di molte volte superiore a quanto è necessario con il vecchio HTML. Il problema è che il CSS richiede a chi lo usa di pensare in modo tecnico piuttosto che in modo creativo: il modo in cui i fogli di stile ereditano le proprietà è tutto meno che intuitivo.

Il supporto di questi standard è lasciato ai produttori dei browser per cui, ancora più che con il vecchio HTML, l'interpretazione del CSS è alla mercee di concorrenti che cercano di imporre la propria interpretazione come standard.

E poi diciamocelo il box model - quello che ritiene che tutto può essere descritto tramite margine, bordo, padding e assegnando delle proprietà ai contenuti - è interessante ma è semplicistico. Strumenti avanzati per il design offrono vari tipi di layout: layout non-rettangolari, proporzionali, con colonne, con tabelle... Ci vorranno anni finché questi strumenti si facciano strada nel CSS e ci vorranno ancora più anni prima che i browser li implementino in modo accurato.

Il CSS è uno strumento interessante, ma non è fatto per disegnare siti, è fatto per decorare l'HTML, questo perché un buon strumento di design parte proprio dal design e non dai tag. E questo vuol dire che mi farò meno problemi a usare le tablle d'ora in poi: lo strumento che userò sarà quello più adatto al lavoro, non quello più stilisticamente corretto!

Commenti: 14


I commenti dei lettori:

Dylan666 Dylan666 il 28 Settembre 09 @ 17:29 pm

Se non ricordo male questa è la ri-edizione di una news originariamente postata su Kipapa.
Sebbene possa trovarmi d'accordo sul fatto che il CSS sia poco intuitivo e molto difficile da usare penso sia innegabile che abbia potenzialità enormi per come è stato pensato.
Lascio un link dove i layout di una pagina cambia totalmente al cambiare del CSS, quindi il la grafica è totalmente slegata dalla parte testuale e contenutistica:

http://www.mezzoblue.com/zengarden/alldesigns/

Pensare di cambiare così facilmente lo stile di un sito basato su tabelle semplici è impensabile.
Purtoppo far combaciare la teoria (la flessibilità) con la pratica (la semplicità di implementazione) è tutt'altro che facile

Anonimo Anonimo il 05 Ottobre 09 @ 07:41 am

ma sì, che ci importa dell'usabilità!

mikedepetris mikedepetris il 05 Ottobre 09 @ 08:53 am

certo, se ci fosse uno strumento software di disegno delle pagine, o meglio di disegno del sito, che risolvesse il problema della gestione dei css con compatibilita' per tutti i browser... anche li' pero' si va sempre a finire per dover accettare compromessi e limitazioni

Sav Sav il 05 Ottobre 09 @ 12:10 pm

Finalmente, sono anni cheaffermo queste cose!!
Apprezzo particolarmente la frase: " l'interpretazione del CSS è alla mercee di concorrenti che cercano di imporre la propria interpretazione come standard"

Cla-udio78 Cla-udio78 il 05 Ottobre 09 @ 14:09 pm

@Anonimo: di che usabilità stai parlando? Cambia se usiamo tabelle o CSS?

grana grana il 06 Ottobre 09 @ 07:34 am

sono l'anonimo: cambia sì, perchè le tabelle vanno usate per dati strutturati in tabella, i css gestiscono i layout... immagina di essere cieco, e di sfruttare degli ausili alla navigazione, se questi ausili ti dicono che è una tabella, tu ti aspetti dei dati in tabella con un'intestazione e così via (e non per esempio un immagine di esattamente 12px x 1px).
Inoltre, i browser visualizzano le tabelle solo dopo averne caricato tutti i contenuti, e questo rallenta la navigazione.

Infine, ci sono degli standard (W3C), ed è vero che i browser (uno in particolare) non li rispetta, ma invitare da una parte gli sviluppatori di siti web a non rispettate gli standard, e poi poco dopo " l'interpretazione del CSS è alla mercee di
concorrenti che cercano di imporre la propria interpretazione come standard" è un controsenso.

webmaster webmaster il 06 Ottobre 09 @ 12:07 pm

@grana: guarda, io non ho mai usato uno screenreader per non vedenti, ma sarei molto sorpreso se questi screenreader non si fossero adattati all'uso che il web più popolare fa delle tabelle

grana grana il 12 Ottobre 09 @ 07:33 am

non penso che uno screenreader sia in grado di distinguere quando le tabelle sono usate per formattazione e quando per reali contenuti; in ogni caso non capisco perchè lamentarsi di chi non adotta gli standard per poi fare lo stesso...
io non sono un webdesigner, ma conosco l'html e i css, e non ho trovato situazioni in cui l'uso dei css sia stato impossibile e anzi non abbia dato benefici

webmaster webmaster il 12 Ottobre 09 @ 07:51 am

@grana: io non mi lamento di chi non segue gli standard. io mi lamento che questi standard sono inultilmente complessi, che sono disegnati male e interpretabili in modi diversi e che per fare cose semplici (che con le tabelle ci vorrebbero pochi secondi) con i css devo sempre controllare che tutto funzioni nello stesso modo con tutti i browser.

Dylan666 Dylan666 il 12 Ottobre 09 @ 08:44 am

@webmaster: diciamo la verità, sono standard interpretati in maniera diversa solo da Internet Explorer.
Gli altri browser hanno una aderenza all'uso del CSS complesso (inteso complesso veramente, oltre l'uso medio di qualunque sito) altissimo.

http://acid3.acidtests.org/

Firefox 3.5.3 = 93%
Google Crhome 3.0.195.25 = 100%
Safari 4.0.1 = 100%
Opera 10 = 100%
Explorer 8.0.6001.18702 = 20%

webmaster webmaster il 12 Ottobre 09 @ 19:26 pm

@dylan: non sono sicuro quale sia il tuo punto. io posso solo ripetere la mia risposta

io non mi lamento di chi non segue gli standard. io mi lamento che questi standard sono inultilmente complessi, che sono disegnati male e interpretabili in modi diversi e che per fare cose semplici (che con le tabelle ci vorrebbero pochi secondi) con i css devo sempre controllare che tutto funzioni nello stesso modo con tutti i browser.

Dylan666 Dylan666 il 12 Ottobre 09 @ 19:42 pm

La parte "intepretabili in modi diversi" è vera solo per Internet Explorer.
Tutti gli altri browser rispettano lo standard al 100% in tutti i suoi usi più avanzati.
È questo il punto.

Il controllo non lo devi fare "con tutti i browser", ma con Internet Explorer e un'altro qualisiasi. Su tutti gli altri browser infatti il risultato è assolutamente identico.

Personalmente poi lo ritengo uno standard complesso, ma non inutilmente, e nemmeno disegnato male. Ma qui siamo nel campo dell'opinabile.

grana grana il 13 Ottobre 09 @ 13:03 pm

concordo con dylan666; e la separazione tra contenuto e stile è alla lunga fondamentale.
Detto questo, siamo tutti d'accordo che il browser ahimé più diffuso sia anche il peggiore..

Danilo Danilo il 28 Agosto 10 @ 00:40 am

Per me chi parla male dei CSS è solo perchè fa parte della "vecchia scuola" delle tabelle e non ha la voglia di aggiornarsi e ricominciare studiando qualcosa di nuovo.

A volte ci si crede "arrivati" in quello che si fa e ci si chiede perchè modificare... fino a quando non diventa un obbligo che impone l'aggiornamento o la conseguente esclusione dal mercato.

Lascia un commento

Insulti, volgarità e commenti ritenuti privi di valore verranno modificati e/o cancellati.
Nome:

Commento:
Conferma visiva: (ricarica)

Inserisci la targa della città indicata nell'immagine.

Login | Iscriviti

Username:

Password: