"Problème de div"

Actualité par (Intégrateur du Dimanche, Strasbourg)
Créé le (16854 lectures)

Voilà un titre récurrent sur les nouveaux forums de conception web : "j'ai des problèmes de div", "mes divs sont décalés", "les divs non compatibles sur IE ?", etc.

Comment faire comprendre qu'un <div> n'est qu'une balise neutre, sans mise en forme et qu'il est tout simplement impossible qu'elle suscite des problèmes d'affichage ?

Pour beaucoup de débutants, l'élément <div> est confondu avec les CSS, les calques ou que sais-je encore.

Et pourtant un <div> n'est qu'une balise, un élément du code HTML, incolore et indolore, sans marges internes ou externes par défaut et qui se comporte comme toutes les autres balises de type bloc.

La balise <div> fait partie du langage HTML depuis ses début. Elle ne pose donc - en elle-même - aucun soucis de compatibilité sur les navigateurs actuels ou anciens.

Comment expliquer une fois pour toutes qu'un <div> ne peut pas poser de problèmes, mais que ce qui fait sa mise en forme et son positionnement est géré par les styles CSS ?

Avoir un problème de CSS, oui ; avoir un problème de <div>, je dis non.

(C'était le coup de gueule du jour après un ènième message évoquant un "problème de div")

Commentaires

mobman02 a dit le

Boah, il faut être indulgent face a ceux et a celle qui dise "probleme de div" au lieu de "probleme de css", car apres tout,
c'est plus precis de parler de div que de Css.

C'est effectivement "incorrect" mais ce n'est pas grave...

Yoyo a dit le

vaut mieux ça que des problèmes de dive bouteille ;)

dew a dit le

C'est justement parce que les div sont incolores qu'ils sont souvent surexploités.

Souvenirs souvenirs, trop de div tue les div :
css.alsacreations.com/Bas...

Methu a dit le

On peut dire un problème de positionnement de balise div par CSS, mais c'est assez long à écrire...

Olivier a dit le

> Comment expliquer une fois pour toutes qu'un <div> ne peut pas poser de problèmes

A grand coup de pioche dans la gueule :p

> ceux et a celle qui dise "probleme de div" au lieu de "probleme de css", car apres tout,
c'est plus precis de parler de div que de Css.

Ahh ?
Pour moi les 2 sont identiques et tout aussi imprécises.
Combien de fois on a "problème de CSS" dans le salon CSS d'alsacreations...
Ahh sérieux, un problème de CSS dans le salon CSS ?

En fait, ce n'est pas qu'au niveau des <div>, c'est aussi au niveau de l'utilisation des forums, il faudra faire comprendre une bonne fois pour toute qu'un titre de topic est très important notament pour ceux qui passent du temps pour aider les autres !

Pour en revenir aux div, c'est assez frustrant tout de même, on arrete pas de rabacher à tord et à travers que les <div> ne sont pas les seuls éléments à utiliser, mais que les <hN> & cie sont extremement important et à utiliser, on retrouve des <div class="titre"> à tout va...
Pas etonnant qu'il y ait amalgame, <div>, la balise à tout faire :p

Il n'y a à mon avis pas de réelle solution à part peut être un changement de discours, comme je le dis depuis un moment, cessons de parler de xHTML/CSS et de <div> etc, expliquons comment on fait une page web et utilisons le balisage correct dans les tutos sans expliquer les fondement politico-sociologico-philosophique liés à la mise en page CSS ! Didju :p

Vero a dit le

Div, div ... c'est quoi déjà ?

Les calques, tu veux dire ! ...

Non, pas le fouet !
:-@

Ok, je sors ...

Steph. K. a dit le

C'est pas dur à comprendre d'où vient l'erreur : J'ai un problème de posissionnement, non ça ne va pas... J'ai un problème de positionemant, ça ne va pas non plus... j'ai un problème de div. Là c'est bon :-)

pickupjojo a dit le

Rah j'en ai marre, j'ai un gros problème avec mes div (les calques quoi), ils se plaçent mal...

Pas frapper :-D

Ju a dit le

D'ailleurs qqn sait ce que signifie div, de quel mot ça dérive ?

Merkel a dit le

Division ? Je suis pas sûr.

Ziz a dit le

Do It Valid ? :)

vchahun a dit le

Ced a dit le

Les div ne sont pas si incolores et inodores. Car leur comportement varie sérieusement d'un navigateur à l'autre. Tout comme <p> d'ailleurs. Donc OUI, il y a parfois des problèmes de <div>. Surtout quand on les utilise pour faire des calques. Y'a... allez... 5 trucs de base à savoir. Une fois qu'on les connait, ben c'est tout fastoche et tout se comporte correctement, avec ou sans javascript dedans. Donc non, la balise <div> n'est pas neutre. Elle est puissante et à dynamique variable. Donc elle peut surprendre. La remarque "j'ai un problème de <div>" a donc tout son sens.

Olivier a dit le

Ced > faudra que tu m'expliques les différences d'implémentation de <div> en fonction des navigateurs, il n'y en a aucune...
Et <div> est bien une balise neutre de type block, tout comme <span> l'est mais elle de type inline.
LA seule propriété de <div> c'est display: block; (display: inline; pour le <span>).

Raphael a dit le

@Ced : "Car leur comportement varie sérieusement d'un navigateur à l'autre."

-> Non, aucunement.

Kinoox a dit le

Arrêtez de dire des bétises, un <div></div> sans CSS c'est comme s'il n'y avait pas de <div></div>.
C'est comme si vous inventez la balise <inutile></inutile> en xml et que dans la feuille de style vous lui donnez aucun attribut.
Raphael à raison. Allé, je vous excuse, vous n'avez pas dû comprendre ses explications.

clb56 a dit le

à Kinoox > "<div></div> sans CSS c'est comme s'il n'y avait pas de <div></div>"

Non ça c'est faux, stylage ou pas l'utilisation de la balise div apporte un point d'articulation dans la structuration html (évidemment puisque elle est block).

La question étant est ce la bonne balise block qui a été utilisée.

Il y a déjà eu une discussion là dessus à propos des liens isolés (non insérés dans une phrases.

Laurent Denis pensait que dans ce cas

<div><a href="">Lien</a></div>

était préférable à :

<p><a href="">Lien</a></p>

cela dit je pense que l'emploi systématique du terme div dans les forum dénote une incapacité totale de beaucoup à appréhender les pages web autrement qu'à travcers un rendu visuel.

Méthodologiquement c'est désastreux puisque justement un site n'a besoin d'aucun rendu visuel pour exister