Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Spans en divs zonder class getriggerd door zoekmachines e.d.

Pagina: 1
Acties:

  • Blaise
  • Registratie: Juni 2001
  • Niet online
Geen groot issue, maar het hield me vandaag bezig.

Bij het maken van een site wil ik mijn HTML altijd zo schoon mogelijk houden. Dat betekent ook het weglaten van class en id attributen waar dat niet noodzakelijk is. Dat resulteert soms in dit soort code:

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<div class="parent">
  <div>
    <h2>Titel <span>1</span></h2>
    <p>
      Tekst tekst tekst
    </p>
  </div>
  <div>
    <h2>Titel <span>2</span></h2>
    <p>
      Tekst tekst tekst
    </p>
  </div>
</div>


In dit geval kan ik wellicht ook <em> gebruiken ipv <span> maar daar gaat het niet om.

Omdat CSS cascaded is kan ik alle elementen uniek benaderen.

Het nadeel is dat zoekmachines en andere services, zoals bijvooorbeeld greasemonkey scripts, vaak spans (en soms divs) invoegen om hun eigen toevoegingen en wijzigingen op te maken. Deze elementen worden dan getriggerd door mijn CSS, wat soms een opmerkelijk resultaat oplevert.

In de toekomst wordt het misschien nog erger, dan zijn selectors en pseudo-classes als :first-child, :only-child en E ~ F niet meer veilig.

Houden jullie hier rekening mee? Moet je hier wel rekening mee willen houden?

Verwijderd

een setje css rules moet gelden voor alle elementen die aan de selector voldoen. Als scripts dus een p invoegen, zou dat semantisch net zo'n p moeten zijn als je andere p's, dus met logischerwijs dezelfde opmaak.

Je span heeft een speciale rol volgens mij, speciale rollen van elementen geef je aan met een class (classes hebben niks te maken met opmaak, maar met rollen van elementen, waardoor je ze juist vaak een aparte opmaak geeft)

Andersom denken dus, elk element dat een meer specifieke rol (semantiek) heeft dan de spec aangeeft, geef je een class mee. Vervolgens ga je pas nadenken over opmaak. Vaak wil je elementen met een bepaalde rol anders opmaken. Dat is precies de reden waarom er een shortcut selector is voor het class attribuut.

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11 15:46

OkkE

CSS influencer :+

Ik hou er persoonlijk - op dit moment - eigenlijk nooit speciaal rekening mee. Of je er rekening mee moet (of moet willen) houden weet ik niet.

In theorie ben ik het helemaal met mopher eens, elementen zouden altijd een standaard opmaak moeten krijgen, alle speciale gevallen een class (of id). Maar nu ik er over denk, gebruik ik zelf ook wel eens een <span> of <em> zonder verdere class, en geef deze wel een aparte opmaak. Gewoon omdat het schonere code is, en sja, de CssZenGarden manier (om alles een extra <div> of class) voor "de toekomst", doe ik vrijwel nooit en vind ik eigenlijk ook wat overbodig.

Denk dat ik er - voorlopig iig - geen extra aandacht aan besteed. Als de website echt helemaal stuk gaat door gebruik van bepaalde Greasemonkey scripts bijvoorbeeld, dan is dat jammer en hoop ik dat de bezoeker genoeg binding met de website heeft om dit te melden.

Heb je toevallig een online voorbeeld waarbij het mis ging/gaat? Of is dit puur what if..

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • Blaise
  • Registratie: Juni 2001
  • Niet online
Heb je toevallig een online voorbeeld waarbij het mis ging/gaat? Of is dit puur what if..
Gedeeltelijk what if.

Ik kwam een dergelijk geval het recentst tegen met TinyMCE. In een formulier gebruikte ik spans om beschrijvingen bij invoervelden extra witruimte te geven. TinyMCE gebruikt spans voor de buttons, dus toen waren de rapen gaar. TinyMCE was onderdeel van mijn eigen website, en niet een "addon", dus voor dit topic was het een slecht voorbeeld.

Een paar dagen geleden werkte ik aan ik een greasemonkey scriptje dat plain-text links omzette naar klikbare. Ik besefte toen dat dat problemen kon opleveren bij een site van me waar spans css eigenschappen bezitten.

Eerder had ik al eens problemen met Fleck omdat ik geen <head> en <body> element had (minimalistische html 4.1), dus ik vroeg mij af of dat nou hun probleem was, of die van mij.

Door Google gecachde webpagina's doen ook regelmatig vreemd, doordat Google <b>'s met keyword highlights toevoegt, en een tabel bovenaan.

Ik probeer er tot op zekere hoogte rekening mee te houden, zolang het geen extra tijd kost of ranzige code oplevert. Ik ben het met jullie eens dat in bepaalde gevallen een class op zijn plaats is, maar waar het niet hoeft vermijd ik ze liever.