Questo è qualcosa che mi fa impazzire ogni volta che lo vedo. Perché utilizzare gli elementi div
è quasi un'ossessione?Perché la maggior parte delle persone desidera evitare TABELLA in HTML e utilizzare i DIV per tutto?
capisco perché avendo per lo più div
s nel markup, ognuno con una id
o (meglio ancora) un className
può aiutare a sviluppare un markup pulito e mantenere il controllo delle alterazioni della vista.
Ma, ad esempio, continuo a vedere domande su come fare in modo che i div si comportino come un tavolo, e anche quando viene detto che qualcosa non è compatibile con la versione del browser x o y, vogliono comunque fare cose del genere:
<div style="display: table">
<div style="display: table-row">
<div style="display: table-cell">Content</div>
<div style="display: table-cell">Content</div>
</div>
<div style="display: table-row">
<div style="display: table-cell">Content</div>
<div style="display: table-cell">Content</div>
</div>
</div>
Perché? ... davvero: Perché ??
Perché è meglio che utilizzare uno table
? Oppure, perché usare le tabelle è qualcosa di abominevole?
tabelle sono parte di HTML
elementi. Esistono per una ragione e hanno un buon scopo. Non sono deprecati e non spariranno in qualunque momento presto (o prima di div
s per quella materia). E, cosa più importante: si comportano correttamente in tutte le versioni di browser &!
Allora ... perché l'obession con fare div
s si comportano come le tabelle? Perché così tante persone scrivono in questo modo HTML
/CSS
e quindi si sentono orgogliosi di qualcosa di così sporco?
Questo non è esclusivo di table
s. Continuo a vedere div
s sostituzione di tutti gli elementi html
, come h1
.. h6
, span
s, ecc
Perché ??
direi che è la semantica. Quando le persone sostituiscono i titoli con elementi div, ciò non ha senso. Ma quando avvolgi il tuo layout in tag che sono destinati ai dati tabulari, allora è anche una semantica errata. Con l'attributo 'display' stai semplicemente cambiando l'aspetto, ma un' td' implicherebbe dati tabulari, che il tuo contenuto potrebbe non essere. – slhck
usa sempre la semantica corretta per descrivere i tuoi dati (i tag corretti), e quindi css per ottenere il tuo stile/layout corretto.tutti i tag html hanno un significato semantico, quindi con essi descrivi i tuoi dati ('table' per i dati tabulari,' h1', 'h2', ... per i titoli, ...) (_div hell_ è male come _table hell_) –
Si chiama divitis. C'è un vaccino chiamato markup semantico, ma alcune persone sono religiosamente avverse a questo genere di cose. – BoltClock