HTML5: class op <section> of steeds op <div>?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sam Clauw

Sam Clauw

30/04/2013 10:02:10
Quote Anchor link
Hallo iedereen,

ik ben de weg van HTML5 wat aan het instappen en besef dat een <section> element enkel dient om de structuur van je document te benadrukken, terwijl men een <div> aanraad om bepaalde zaken te stijlen. Nu is het zo dat ik het sectie element heb gebruikt om aan te geven dat ik een lijst met artikels heb. Die artikels wil ik nu met CSS verder stijlen, maar dan vraag ik me af of ik een klasse "articles" op het sectie element mag plaatsen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<section class="article">
    <header>
        <h1>Title goes here</h1>
        <p>Content goes here</p>
    </header>
 
    <article>
        <h2>Article title</h2>
 
        <p>Content goes here</p>
    </article>
</section>


Mag dit, of is dit tegen de regels van het gebruik van deze tag? Of moet ik er dus eerder zoiets van maken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<section>
    <header>
        <h1>Title goes here</h1>
 
        <p>Content goes here</p>
    </header>
 
    <article>
        <div class="article">
            <h2>Article title</h2>
 
            <p>Content goes here</p>
        </div>
    </article>
</section>


Bovenstaande zou uiteraard jammer zijn aangezien je een extra <div> in je broncode opneemt...

Alvast bedankt voor de hulp en de tips!
Gewijzigd op 30/04/2013 10:02:59 door Sam Clauw
 
PHP hulp

PHP hulp

26/04/2024 10:05:00
 
Ozzie PHP

Ozzie PHP

30/04/2013 10:12:24
Quote Anchor link
Je kan toch gewoon css toepassen op je article element? Of bedoel je dat niet?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
article {
  border: 1px solid red;
}
 
Kris Peeters

Kris Peeters

30/04/2013 10:24:44
Quote Anchor link
- Je mag de class op <section> en <article> zetten, ja.
Er is geen reden om een extra div te maken ( <div class="article"> )
 
Sam Clauw

Sam Clauw

30/04/2013 11:07:44
Quote Anchor link
Ah, daar ben ik dan enorm blij om! @ Ozzie: bedoeling is om de artikels te stijlen aan de hand van het parent element. Zo kan je dus ook het eerste artikel anders stijlen dan de andere (zonder border bijvoorbeeld). Thanks a lot voor jullie bevestiging!
 
Wouter J

Wouter J

30/04/2013 12:20:59
Quote Anchor link
Allereerst, een class of id heeft niks te maken met de semantische waarde van een element. Je bent dus altijd vrij een class op ieder element naar keuze te zetten.

Een section element geeft echt een nieuwe sectie aan. Alles binnen een sectie hoort bij elkaar. Een dic element heeft geen semantische waarde en groepeert de elementen dus niet.
Omdat een sectie element alle elementen daarin weer groepeert zul je dit dus niet in dit geval "mogen" gebruiken. Het is totaal niet zeker dat deze elementen bij elkaar horen.

Welk element zou ik hier dan wel voor gebruiken? Nou, lees eens je zin na: ik een lijst met artikels heb Bingo! Je bent opzoek naar een lijst. Is het dan ul of ol? Dan moet je jezelf afvragen of de volgorde belangrijk is. Ik zal bijv. op de homepage een ul element gebruiken, maar op een pagina waar je een bepaalde serie artikelen toont een ol element.

En dan komen we bij mijn laatste punt: nooit op elementen stijlen, want je weet nooit op welk element de class zit, de ene pagina kan dit een ul zijn en op de andere een ol.
Gewijzigd op 30/04/2013 12:23:20 door Wouter J
 
Ozzie PHP

Ozzie PHP

30/04/2013 12:26:17
Quote Anchor link
Wouter J op 30/04/2013 12:20:59:
En dan komen we bij mijn laatste punt: nooit op elementen stijlen, want je weet nooit op welk element de class zit, de ene pagina kan dit een ul zijn en op de andere een ol.
Wouter, wat bedoel je hiermee? Heb je een voorbeeldje?
 
Kris Peeters

Kris Peeters

30/04/2013 13:08:36
Quote Anchor link
Wouter J op 30/04/2013 12:20:59:
...nooit op elementen stijlen, want je weet nooit op welk element de class zit...



Hoe ver ga je in deze redenering?

Ik veronderstel dat je een <a> wel zou stijlen op element.
Ik snap je algemene redenering wel
 
Wouter J

Wouter J

30/04/2013 13:22:43
Quote Anchor link
Kris, nouja, goed bijna alle elementen. Sommige specifieke (mark-up) elementen, zoals a, img, u, i, em, ect. hebben dit natuurlijk niet nodig (allewel de img wel weer wat classes verdient).
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.