Vra

Moontlik Duplikaat:
Hoekom dit nie gebruik tafels vir die uitleg in die HTML?

Onder watter omstandighede moet jy kies tafels in plaas van DIVs in die HTML-kodering?

Was dit nuttig?

Oplossing

Die hele "Tafels vs Divs" ding net skaars mis die punt.Dit is nie "tafel" of "div".Dit is oor die gebruik van semantiese html.

Selfs die div tag speel slegs'n klein deel in'n goed uitgelê bladsy.Moenie oorgebruik dit.Jy moet nie nodig het dat baie, indien jy jou html saam korrek.Dinge soos lyste, veld stel, legendes, etikette, paragrawe, ens kan vervang baie van wat'n div of span is dikwels gebruik om te bereik.Div moet hoofsaaklik gebruik word wanneer dit sin maak om te dui op'n logiese division, en net bewillig vir ekstra uitleg wanneer dit absoluut nodig is.Dieselfde is waar vir die tafel;gebruik dit wanneer jy tabel data, maar nie andersins nie.

Dan het jy'n meer semantiese bladsy en jy hoef nie heeltemal so baie klasse gedefinieer in jou CSS;jy kan teiken die tags direk plaas.Moontlik die belangrikste is, jy het'n bladsy wat sal telling baie beter met Google (anecdotally) as die ekwivalent tafel of div-swaar bladsy.Die meeste van alles dit sal help om beter te verbind met'n gedeelte van jou gehoor.

So as ons gaan terug en kyk na dit in terme van die tafel vs div, dit is my mening dat ons het eintlik gekom tot die punt waar div is oor-gebruik word en die tafel is onder-gebruik word.Hoekom?Want as jy regtig daaroor dink, daar is'n baie van die dinge daar buite wat val in die kategorie van "tabel data" wat is geneig om te wees oor die hoof gesien.Antwoorde en opmerkings op hierdie web bladsy, byvoorbeeld.Hulle bestaan uit verskeie rekords, elke met die dieselfde stel van die velde.Hulle is selfs gestoor word in'n sql server tafel, vir huil hardop.Dit is die presiese definisie van tabel data.Dit beteken'n html tafel tag sou absoluut'n goeie semantiese keuse aan die uitleg iets soos die poste hier op die Stapel Oorloop.Dieselfde beginsel geld vir baie ander dinge as goed.Dit is dalk nie'n goeie idee om'n tafel tag om'n drie-kolom uitleg, maar dit is beslis net fyn om dit te gebruik vir roosters en lyste...behalwe, natuurlik, wanneer jy eintlik kan gebruik maak van die ol of ul (lys) tags.

Ander wenke

Wanneer die data Ek aanbieding is inderdaad 'n tabel.

Ek vind dit belaglik dat sommige web ontwerpers gebruik divs op tabel data op sommige plekke.

Een ander gebruik ek wil hê, want dit sou vorms, veral etiket wees: teksboks pare. Dit kan tegnies gedoen word in div bokse, maar dit is baie, baie makliker om dit te doen in tafels, en 'n mens kan daardie etiket argumenteer:. Teksboks pare is in werklikheid 'n tabel in die natuur

Ek gebruik word om suiwer CSS doen, maar ek laat vaar dat die uitoefening ten gunste van baster tafel / css benadering as die mees pragmatiese benadering. Ironies genoeg, dit is ook as gevolg van toeganklikheid. Het jy al ooit probeer doen CSS op Sidekick? Wat 'n nagmerrie! Het jy al ooit gesien hoe CSS-gebaseerde webwerwe gelewer op nuwe blaaier? Elemente sou oorvleuel of net nie korrek vertoon dat ek die CSS af te skakel. Het jy al ooit probeer resizing CSS-gebaseerde webwerwe? Hulle lyk verskriklik en dikwels tot nadeel van die blinde as hulle gebruik inzoomen funksies in die leser! As jy dit doen met tafels, hulle skaal baie beter. Wanneer mense praat oor toeganklikheid, ek vind dat baie het geen idee en dit frustreer my, want ek is gestremd is en hulle is nie. Het hulle regtig saam met die blinde? Die dowe? As toeganklikheid is 'n grootste bekommernis, hoekom de hel is 99% van video's nie gesluit byskrifte? Baie CSS puriste gebruik AJAX maar versuim om te besef dat AJAX dikwels maak inhoud ontoeganklik.

pragmaties, dis ok om 'n enkele tafel so lank as wat jy die inligting in 'n logiese vloei bied as die selle gestapel (iets wat jy wil sien op selfone) gebruik as 'n hoof uitleg. Die CSS teorie klink groot, maar gedeeltelik werkbare in die werklike lewe met te veel hacks, iets wat teen die ideale van "suiwerheid."

Sedert die gebruik van die CSS met tafels benadering, Ek het so baie tyd gespaar ontwerp van 'n webwerf en onderhoud is baie makliker. Minder hacks, meer intuïtief. Ek kry minder oproepe van mense wat sê: "Ek plaas 'n DIV en nou lyk dit al verfrommeld!" En selfs meer belangrik, absoluut GEEN toeganklikheid kwessies.

Gewoonlik wanneer jy nie die gebruik van die tafel te voorsien van'n uitleg.

Tafels -> data

Divs -> uitleg

(hoofsaaklik)

Nota: Ten tyde van die vraag gevra is, was daar praktiese redes vir die gebruik van tabelle vir 'n paar uitleg doeleindes. Dit is nie nodig nie as gevolg van verbeterings leser, so ek het die antwoord opgedateer.

HTML <table>-elemente gebruik moet word wanneer die data logies het 'n twee-dimensionele struktuur. As die data kan word gestruktureer in rye en kolomme en jy kan sinvol kop van toepassing op beide die rye en kolomme, dan is jy waarskynlik 'n tabel data.

Ek hoef jy net 'n enkele ry of 'n enkele kolom van data, dan is dit nie 'n tabel data - dit is net lineêre inhoud. Jy moet ten minste twee rye en twee kolomme voor dit kan beskou word as 'n tabel data.

'n Paar voorbeelde:

Die gebruik van tafels vir die plasing van zijbalken en bladsy kop / voet. Dit is nie 'n tabel data maar bladuitleg. Iets soos css rooster of flexbox is meer gepas.

Die gebruik van tafels vir koerant-styl kolomme. Dit is nie 'n tabel data - sou jy nog steeds lees dit lineêr. Iets soos css kolomme is meer gepas.

Ek sou 'n onderskeid tussen HTML vir openbare webtuistes (tafels no-no-no, divs ja-ja-ja) en HTML vir semi-openbare of private web programme, waar ek is geneig om tafels verkies selfs vir bladuitleg te maak.

Die meeste van die gerespekteerde redes waarom "Tafels is sleg" is gewoonlik 'n probleem net vir openbare webtuistes, maar nie so veel van 'n probleem met webapps. As ek dieselfde uitleg kan kry en het 'n meer konsekwente kyk oor blaaiers deur gebruik te maak van 'n tafel as 'n ingewikkelde CSS + DIV, dan gewoonlik ek gaan voort en aprove die tafel.

Soveel plakkate reeds genoem het, jy moet tabelle te gebruik om te wys vir 'n tabel data.

Tabelle is in HTML 3.2 hier bekend gestel is die relevante paragraaf vanaf die spec op hul gebruik:

  

[tafels] kan gebruik word om 'n tabel materiaal opmaak-of vir uitleg doeleindes ...

Stem saam met Thomas - die algemene reël is as dit sin maak op 'n spreedsheet, jy kan 'n tafel gebruik. Anders nie.

Net nie tabelle te gebruik as jou uitleg vir die bladsy, dit is die grootste probleem mense het saam met hulle.

Ek kan die argument vir tafels vir vorms sien, maar daar is 'n mooier alternatiewe ... jy moet net om te rol jou moue en leer CSS.

byvoorbeeld:

<fieldset>
  <legend>New Blog Post</legend>

  <label for="title">Title:</label>
  <input type="text" name="title" />

  <label for="body">Body:</label>
  <textarea name="body" rows="6" cols="40">
  </textarea>
</fieldset>

Jy kan dit html neem en uitleg van die vorm óf side-by-kant etikette, of etikette op die top van die teksbokse (wat is makliker). Met die buigsaamheid regtig help. Dit is ook minder HTML as die tafel ekwivalent van óf.

Vir 'n paar uitstekende voorbeelde van CSS vorms, check hierdie uitstekende voorbeelde:

http://jeffhowden.com/code/css/forms/

http://www.sitepoint.com/article/fancy- vorm-ontwerp-css /

http: //www.smashingmagazine. com / 2006/11/11 / css-gebaseerde vorms-moderne oplossings /

Ek sal gewoonlik kies vir tafels te vorm-tipe inligting te vertoon (Eerste Naam, naam, adres, ens) waar voering etikette en velde in verskeie rye is belangrik. Divs ek gebruik vir die uitleg.

Natuurlik die tafel is toegedraai in 'n DIV:)

Tabelle is ontwerp vir 'n tabel inhoud, nie vir uitleg.

So, moenie ooit voel sleg as jy dit gebruik om data voor te stel.

Ek gebruik die tabelle in twee gevalle:

1) Tabel data

2) Enige tyd ek wil my uitleg om dinamiese grootte self sy inhoud

As jou data in 'n twee-dimensionele rooster gelê kan word, gebruik <table>. As dit nie kan doen nie. Die gebruik van <table> vir enigiets anders is 'n hak (hoewel dikwels nie een met 'n goeie alternatiewe, veral wanneer dit kom by die verenigbaarheid met ouer blaaiers). nie met behulp van <table> vir iets wat duidelik 'n mens moet wees is ewe sleg. <div> en <span> is nie vir alles; in werklikheid, heeltemal betekenisloos op 'n semantiese vlak, hulle moet ten alle koste vermy ten gunste van meer semantiese alternatiewe.

Op hierdie onderwerp, het ek gedink hierdie webwerf was 'n bietjie snaaks.

1) Vir die vertoon van 'n tabel data. A kalender is 'n voorbeeld van 'n tabel data wat nie altyd duidelik op die eerste.

2) Ek werk vir 'n mediese faktuur maatskappy, en byna al die uitleg vir ons interne werk wat gedoen is met behulp van CSS. Maar van tyd tot tyd kry ons papier vorms van versekeringsmaatskappye wat ons billers moet gebruik, en 'n program sal hulle te skakel na 'n HTML-formaat wat hulle kan vul en druk via die intranet. Om seker te maak die vorms word aanvaar wat hulle nodig het om die oorspronklike papier weergawe baie nou ooreenstem. Vir hierdie is dit net 'n eenvoudige om terug te val op tafels.

Tabelle word gebruik vir tabel data. As dit sin maak om dit in 'n sigblad sit dan gebruik om 'n tafel. Anders is daar 'n beter tag vir jou om te gebruik soos div, span, ul, ens.

Ek glo net tabel inhoud. Byvoorbeeld, as jy gedruk 'n databasistabel of spreadsheet-agtige data na HTML.

As jy wil semanties korrek HTML het, dan moet jy tabelle te gebruik net vir tabel data.

Andersins kan jy gebruik tafels vir alles wat jy wil, maar daar is waarskynlik 'n manier om dieselfde ding te doen met behulp van divs en CSS.

@Marius:

Is die uitleg tabel data? Nee, so lank as dit standaard 'n paar jaar gelede was dit nou nie: -)

  

Een ander gebruik ek wil hê, want dit sou vorms, veral etiket wees: teksboks pare. Dit kan tegnies gedoen word in div bokse, maar dit is baie, baie makliker om dit te doen in tafels, en 'n mens kan daardie etiket argumenteer:. Teksboks pare is in werklikheid 'n tabel in die natuur

Ek is geneig om die etiket 'n vaste wydte gee, of vertoon dit op die lyn bo.

@Jon Limjap

Vir etiket: teksboks, nie divs nie tafels is gepas: <dl>s is

  

Een ander gebruik ek wil hê vir dit   sou vorms, veral etiket wees:   teksboks pare. Dit kan tegnies   gedoen word in div bokse, maar dit is baie,   baie makliker om dit te doen in tafels, en   kan 'n mens daardie etiket argumenteer: teksboks pare   is in werklikheid 'n tabel in die natuur.

Ek sien dat 'n billike bedrag, veral onder MS ontwikkelaars. En Ek het dit 'n billike bedrag in die verlede gedoen het. Dit werk, maar dit ignoreer sommige toeganklikheid en beste praktyk faktore. Jy moet etikette, insette, fieldsets, legendes, en CSS gebruik om jou vorms uitleg. Hoekom? Want dit is wat hulle vir, dit is meer doeltreffend, en ek dink toeganklikheid is belangrik. Maar dit is net my persoonlike voorkeur. Ek dink almal moet dit eers probeer dat die pad voor te veroordeel dit. Dit is vinnig, maklik en skoon.

As ooit 'n bladsy containg tafels is gelaai met 'n leser wat dit neem meer tyd vir die leser om behoorlik die tag lewer. Waar asof die div gebruik word, die leser minder tyd neem as dit is ligter. En meer oor ons die css te maak die divs verskyn as tafel kan toepas,

Die tafels is gewoonlik swaar wieght en div is die ligte gewig.

Dit is duidelik dat die DIV gebruik vir die uitleg, maar dit met my gebeur het die feit dat "gedwing" om sigblaaie te gebruik om 'n rooster uitleg doen binne 'n div struktuur vir hierdie redes:

  

die toevoeging van persentasie waardes het nie 'n behoorlike belyning met die div toelaat, terwyl dieselfde waardes uitgedruk op selle van tafels het die verwagte resultaat.

So ek dink dat die tafels is nog steeds nuttig nie net vir data, maar ook vir die situasie hierbo, op die top van dat, tafels is nog W3C voldoen leser en alternatiewe blaaier (vir gestremdes byvoorbeeld) te interpreteer hulle s'n korrek.

divs is eenvoudig divisions, hulle mean't om gebruik te word om groep afdelings van die bladsy wat in 'n semantiese sin gekoppel. Hulle dra geen implisiete betekenis behalwe dat.

Tabelle is oorspronklik bedoel om wetenskaplike data, soos laboratorium resultate op die skerm vertoon. Dave Raggett beslis het hulle nie van plan is om gebruik te implementeer uitleg word.

Ek vind dit hou dit redelik duidelik in jou gedagtes as jy dink aan die bokant, as sy iets sou jy normaalweg verwag om te lees in 'n tabel, dan is dit die toepaslike tag, as sy suiwer uitleg, dan gebruik iets anders om te bereik jou nodig het.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top