28173 sujets

CSS et mise en forme, CSS3

Salut,

J'ai un petit problème avec mes marges...

J'ai mis le *{margin:0px;} afin d'éviter toutes mauvaises interpétations...

Sous firefox il n'y a aucun problème, par conte sous ie il arrive que mes div disposent d'un marge que je suis obligé de corriger par un margin-bottom:-3px ou un margin top:-3px...

Si ca vous est déja arrivé et que vous savez d'où vien le problème...

Merci d'avance
Administrateur
Hello,

Sur la majeure partie des éléments, supprimer les marges externes (margin) ne suffit pas.
Il vaut mieux supprimer également les marges internes (padding).

Pour le reste, impossible de deviner précisément quel est le problème sans exemple précis de code ou de page en ligne.
smon a écrit :
Salut,

J'ai un petit problème avec mes marges...



Non, pas un petit, un moyennement gros.

Le problème se situe à la base (c'est à dire non dans ce que tu fais, mais là où tu as pris cette idée hélas courante) :

smon a écrit :

J'ai mis le *{margin:0px;} afin d'éviter toutes mauvaises interpétations...


Monumentale sottise à ne jamais reproduire (le comique qui a suggéré ça le premier a hélas disparu depuis, loin de la vindicte populaire).

Il y 3 trois sources de styles: l'auteur, l'utilisateur, et l'user agent. Supprimer la 3e en bloc est le meilleur moyen d'avoir des rendus lamentables là où les styles par défaut du navigateur faisaient très bien leur office quand on les laissait tranquilles. L'art des mises en pages CSS est celui de ne pas gérer ce que d'autres font avant moi...

Là, le margin:0, c'est un peu réinventer la roue carrée: le navigateur stylerait par défaut des marges pour tous les cas de figures que je n'ai pas pu anticiper, et non... je remets ses compteurs à zéro avec l'obligation de tout réécrire....

<hommage>Crétin. TC, ça</> Smiley ravi
Modifié par Laurent Denis (07 May 2007 - 13:34)
Salut !
je suis assez partisan de l'utilisation de :

*{
margin:0;
padding:0;
}


Comme dis précédemment, on effet les navigateurs mettent en place leur propres marges par défaut...qui divergent quand meme beaucoup d'un navigateur à l'autre ce qui n'est pas sans pser des problèmes aux developpeurs...arrachage de cheveux...

a écrit :
Supprimer la 3e en bloc est le meilleur moyen d'avoir des rendus lamentables là où les styles par défaut du navigateur faisaient très bien leur office quand on les laissait tranquilles.


Depuis que j'utilise cette "astuce", je me bats beaucoup mois avec mes CSS. Et bon nombre de développeurs aussi me semble-t-il.

Personnellement, je trouve plus pratique de tout mettre à plat et de de tout gérer par soit meme (sur ces cas de marges et padding) plutot que de jouer avec les données par défaut.

Cela changera quand les navigateurs se mettront d'accord sur les marges et les paddings (sur le systeme de bloc en général d'ailleurs).


Tout cela n'engage que moi évidemment Smiley biggrin
Zeke a écrit :
Salut !
je suis assez partisan de l'utilisation de :

*{
margin:0;
padding:0;
}


Comme dis précédemment, on effet les navigateurs mettent en place leur propres marges par défaut...qui divergent quand meme beaucoup d'un navigateur à l'autre ce qui n'est pas sans pser des problèmes aux developpeurs...arrachage de cheveux...

Supprimer la 3e en bloc est le meilleur moyen d'avoir des rendus lamentables là où les styles par défaut du navigateur faisaient très bien leur office quand on les laissait tranquilles.


Depuis que j'utilise cette "astuce", je me bats beaucoup mois avec mes CSS. Et bon nombre de développeurs aussi me semble-t-il.

Personnellement, je trouve plus pratique de tout mettre à plat et de de tout gérer par soit meme (sur ces cas de marges et padding) plutot que de jouer avec les données par défaut.

Cela changera quand les navigateurs se mettront d'accord sur les marges et les paddings (sur le systeme de bloc en général d'ailleurs).


Tout cela n'engage que moi évidemment Smiley biggrin ... et moi! Smiley ravi
Zeke a écrit :
Tout cela n'engage que moi évidemment Smiley biggrin
Benjamin D.C. a écrit :
... et moi! Smiley ravi
<humour nota="patapé"> Ah ben ça fait deux benêts alors. Smiley lol </humour>


Plus sérieusement, les techniques de « reset CSS » sont dangereuses pour les raisons évoquées par Laurent. Bien sûr, quand on fait soi-même son site de A à Z et qu'on ne laisse personne y toucher, on s'en sort plutôt bien. Mais si jamais il y a intervention de tierces personnes, par exemple des rédacteurs non techniciens utilisant le CMS qu'on a mis en place -- et pire, utilisant un éditeur Javascript « WYSIWYG » --, on peut se retrouver facilement avec des configurations qu'on n'avait pas prévues, et donc souvent avec du texte tout collé de partout et tout simplement illisible.

Et si on veut penser à tout à l'avance, on perds un temps fou à faire ce que les navigateurs font très bien et de façon presque homogène.

Franchement, les éléments pour lesquels les marges et padding par défaut divergent sont peu nombreux. Ça concerne essentiellement body, ul et ol. Pas de quoi fouetter un chat mort.

Pour le reste... on a souvent l'illusion de styles par défaut différents alors qu'il s'agit le plus souvent de problèmes de fusion des marges. Et faire un reset CSS pour éviter d'apprendre à gérer les marges (y compris pour les cas particuliers : flottants, HasLayout...), c'est un peu expéditif et un peu incertain.
Modifié par Florent V. (07 May 2007 - 14:56)
Benêt Smiley lol j'adore ce mot !

a écrit :
site de A à Z et qu'on ne laisse personne y toucher, on s'en sort plutôt bien.


Oui c'est sur mais je parlais pas que de ces cas là (site perso etc.) où en effet, on fait un peu comme on veut, on est le roi ! Smiley biggrin

a écrit :

Mais si jamais il y a intervention de tierces personnes, par exemple des rédacteurs non techniciens utilisant le CMS qu'on a mis en place -- et pire, utilisant un éditeur Javascript « WYSIWYG » --, on peut se retrouver facilement avec des configurations qu'on n'avait pas prévues, et donc souvent avec du texte tout collé de partout et tout simplement illisible.


Je suis pas d'accord. Si ton éditeur WISIWYG et/ou ton CMS est bien configuré, tu n'as pas de souci (ou peu).
Après si tu laisses la main en HTML sur le contenu aux rédacteurs, évidemment tu prends un risque, mais quelque soit le choix de CSS dont on parle.
Modifié par Zeke (07 May 2007 - 15:10)
Zeke a écrit :

on effet les navigateurs mettent en place leur propres marges par défaut... qui divergent quand meme beaucoup d'un navigateur à l'autre


Oserais je faire remarquer que cette assertion est complètement fausse, parce qu'en fait ça se saurait si c'était le cas.

Et puis bon les marges c'est pas tout ça et la démarche manque de radicalité je trouve. Donc je propose en préambule à toute css future un magnifique :

html * {
display:inline;
}


Parce que là au moins on est sur de bien s'éclater Smiley lol
a écrit :
Parce que là au moins on est sur de bien s'éclater Smiley lol


En effet, c'est à tenter pour une bonne partie de rigoulade Smiley cligne .