28172 sujets

CSS et mise en forme, CSS3

bonjour à tous,
je suis en train de plancher sur mon nouveau site. Les éléments sont contenus dans un div. ce dernier à juste pour caractéristique :
{width:1263px;margin:auto;}
et le body a pour caractéristiques :
body{margin:0;padding:0;outline:0;}

si l'écran fait plus de 1280 px de large, le site se place au milieu de l'écran, et quand l'écran fait 1280 px de large, le site prend donc toute la largeur de l'écran (1263 px + les 17 px de la barre de défilement vertical), sans barre de défilement horizontal. oui sans barre de défilement horizontal avec chrome, safari et IE, mais avec mozilla, il y a une barre de défilement horizontal qui apparaît, ce qui n'est pas logique puisque la barre de défilement vertical de mozilla fait aussi 17 px de large. j'ai cherché pendant longtemps ce qui n'allait pas et je me suis apperçu, en mettant une couleur vive au body, d'une chose très bizarre pour moi, c'est qu'avec mozilla le body dépasse sur la droite de quelques milimètres du div quand l'écran fait la même largeur que le site + barre de défilement verticale. si je mets pour le div
{width:1263px;margin:auto;overflow:hidden;}
, dans ce cas tout rentre dans l'ordre avec mozilla, la barre de défilement horizontale disparait, car le body ne déborde plus du div.
je pourrais conserver le overflow:hidden puisque çà fonctionne, mais j'aimerais comprendre ce qui cloche dans ce cas avec mozilla, pour mourrir moins bête Smiley ravi
Modifié par tresor84 (19 Nov 2013 - 08:31)
salut,
plutôt alambiqué ton truc non ? Qu'est-ce qui te permet de dire que la largeur du scroll est de 17px ? De plus, si tu donnes une largeur fixe à ton conteneur de 1280px, qu'en sera-t-il pour les résolutions inférieures ?
Tu devrais, je pense, plutôt utiliser "max-width:1280px" combiné à "min-width" que tu aura choisi (pourquoi pas 960px).
Un "overflow:hidden" sur un <body> n'est franchement pas terrible et c'est plus une rustine qu'autre chose. En plus tu pourras toujours scroller avec les flèches du clavier.
il me semble que tu n'as pas bien lu mon message, ou alors ce dernier n'est pas assez explicite.
je n'ai jamais parlé par exemple de overflow:hidden sur le body, je ne sais pas ou tu as lu çà???
ah effectivement j'ai mal lu, autant pour moi. Ça ne reste tout de même pas à mon sens une science exacte ce que tu fais.
Du coup je suppose qu'il doit y avoir du contenu dans ta div qui la rend plus large. Est-ce qu'on pourrait avoir le code complet ou à défaut un lien.