<div> uniquement quand on a besoin d'un élément qui existe pas. Genre tu prend un truc simple, une page avec des news. Une structure en XML aurait cette gueule :
<news>
<titre>Titre de la news</titre>
<paragraphe>pouet pouet</paragraphe>
<paragraphe>hihi hoho</paragraphe>
</news> |
Pour le titre, on a les h1...h6. Pour les paragraphes, on a p. Mais pour news, on a rien, donc on va utiliser un div :
<div class="news">
<h2>Titre de la news</h2>
<p>pouet pouet</p>
<p>hihi hoho</p>
</div> |
Donc, dans la mesure du possible, il ne faut utiliser div ou span que dans le cas où il n'y a vraiment rien d'autre de dispo. Aussi, faut regarder si l'élément dont on a besoin serait de type conteneur ou de type en ligne. Genre une news, c'est une sorte de conteneur pour plein d'autres trucs, on va donc utiliser un <div>. Si jamais c'est un machin en ligne, genre pour spécifier qu'un mot dans un bout de texte représente un truc spécial, on utilisera <span>.