28172 sujets

CSS et mise en forme, CSS3

Re-bonjour tout le monde,

Je suis toujours entrain de trifouiller et de farfouiller pour avoir un site à ma convenance, et là le truc du jour c'est que j'ai installé un blog dotclear.

Alors pour centrer mon menu ça a été, mais depuis ce matin je bloque sur un truc :

Voilà l'adresse provisoire : http://lejoyeuxbordel.free.fr/dotclear/

Quand je réduis la fenêtre sous IE, l'image de fond du body est centrée par rapport à la largeur "réelle" de la page, même si on ne voit pas toute la largeur. Voir photo ci dessous pour comprendre :
upload/17352-Alsa01.jpg

Par contre, quand je réduis la fenêtre sous Mozilla Firefox, l'image de fond du body est centrée par rapport à la largeur visible de la page réduite, et du coup mon design tombe à plat. Voir photo ci dessous pour comprendre :
upload/17352-Alsa02.jpg


Qui a raison ? Qui a tort ? Est-ce que si ça marche bien sous IE c'est parce que IE déconne mais pour une fois ça m'arrange, ou est-ce que j'ai oublié un truc dans la css pour que Firefox fasse pareil que IE ?
Je vous montre ci dessous le css que j'ai modifié :




/* ***** BEGIN LICENSE BLOCK *****
#
# This is part of Aorakits, a set of themes for DotClear. 
# Copyright (c) 2006 Kozlika and contributors. All rights
# reserved.
#
 * ***** END LICENSE BLOCK *****
 
 
 STRUCTURE POUR TROIS COLONNES, BLOGNAV ET BLOGEXTRA À DROITE, LARGEUR FIXE
 
 
 --------------------------------------------------------------
	AVANT TOUTE CHOSE
	remise a zero de toutes les marges des grands blocs pour que 
	tous les navigateurs calculent depuis le meme point de depart 
--------------------------------------------------------------- */
html, body, #page, #top, #prelude, #wrapper, #footer,
#main, #content, #sidebar, #blognav, #blogextra {
	margin : 0;
	padding : 0;
	}

/* --------------------------------------------------------------
	CENTRAGE DE LA PAGE DANS LA FENETRE DU NAVIGATEUR.
	(supprimer ces lignes si on ne veut pas centrer)
	Note : on peut remplacer la valeur (ici 0) des marges au-dessus 
	et en dessous de la page par la valeur de son choix (px ou em).
--------------------------------------------------------------- */
body {
width : 100%;
/*margin: 0 auto;je teste*/
	/*text-align : center;ça change rien que je le garde ou pas*/
 	/*background : #ffffff;*/
 	font-size : 76%; /*je veux voir ce que ça change avec 100%, je l'ai fait, ça change juste la grosseur des écritures : rien ne depasse de 
                                      la croix mais elles sont plus grosses à 100%*/
 	font-family : "lucida grande", "gill sans", arial, sans-serif;
background-image:url('http://lejoyeuxbordel.free.fr/fond-croix-nounours.PNG'); /* J'indique l'adresse de mon image de fond. Sa dimension est de 1280X1024 pixels */
background-position: center top; /*je demande à ce que mon image de fond soit centrée tout en restant collée au plafond*/
background-attachment:scroll; /* mon fond bouge avec le texte */
background-repeat:no-repeat; /* si un écran est plus grand que mon image de fond, aucun souci esthétique, l'image ne se répètera pas, restera centrée, y'aura juste du blanc autour */
text-align:center; /*j'indique que le corps du site (body) est sauf exception centré */

	}
#page {
	margin : 0 auto; /*je pense que c'est ICI qu'il faut que je cherche, pour que ma page soit centrée sous firefox meme si je la réduit. 
                            la valeur 0 ne change rien que je la supprime ou non.*/
	text-align : justify;/*si je met center ça centre les écritures mais ça ne change rien à l'image de fond*/
         }
	

/* -------------------------------------------------------------
	STRUCTURE FIXE - 3 COLONNES - BLOGNAV ET BLOGEXTRA A DROITE
	Vous pouvez modifier 940px par la valeur de votre choix. (j'ai modifie par 1280)
	Vous pouvez modifier 320px par la valeur de votre choix (j'ai modifié par 151) mais
	attention aux repercussions sur les autres valeurs des boites
	incluses dans le sidebar !
--------------------------------------------------------------- */
#page {
	width : 1300px;/*1280px parce que c'est la largeur de mon fond + 10 de marge de chaque coté*/
    }
#top {
	height : 151px; /* a modifier par la valeur de votre choix - j'ai pris 151 pour que "aller au contenu, au menu et à la recherche" se 
                             retrouvent sur la ligne horizontale de ma croix. Et puis j'ai squizzé ces 3 fonctions donc finalement... Le chiffre 
                             permet de faire monter ou descendre le commencement du blog (les écrits + les menus). */
	text-align : center;/*je met le titre du blog au centre et je le squizze dans le fichier top.html au profit de mon bouton*/
	margin-top : 15px;  /*je le rajoute parce que sinon mon bouton il reste collé tout en haut sous ie*/
	}
#top h1 {
	margin : 0;
	padding : 0;
	height : 151px; /* idem que pour #top */
	}
#wrapper {
	margin : 0 10px;/* le 10px indique la marge à respecter à droite et à gauche du cadre principal, celui qui contient les textes à gauche et
                            la menu à droite.*/

	}
#main {
	width : 1280px; /*100%; la valeur qu'il y avait ct 100%*/
        margin : 0 -740px 0 0; /*la deuxième valeur, c'est combien j'enlève de la largeur de la page (qui est de 1280) pour obtenir ce qu'il me faut
                                  pour le coté ecriture. Le main, c'est le bloc du texte. La valeur, c'est la valeur additionnée des deux colonnes 
                                  du menu de droite. Si je veux que la première colonne sur la droite soit une colonne centrale, avec comme valeur 
                                  la largeur de mon nounours (soit 200px), alors 1280-200=1080. Et 1080/2= 540px+200px=740px. (je veux 540 à 
                                  gauche puis 200 au milieu puis 540 à droite, ce qui fait bien 1280).  */
	float : left;
	}
#content {
	margin : 0 740px 0 0;/*c'est la valeur des deux menus de droite. On peut rajouter 10 pour une marge, mais je ne le fais pas, vu que mes 
                                boutons du centre sont déjà moins large.*/
         margin-top : 40px;  /*c'est la marge en hauteur de la partie écritures*/
	padding : 0px; /*c'est la marge en haut, en bas, à droite et à gauche */
	}
#footer {
	clear : both;
	text-align:right;
	height : 30px;
	}
#sidebar {
	width : 740px;/*je redonne la valeur que j'ai enlevée tantot, soit la valeur du menu central (200) + la valeur du menu totalement à droite 
                        (540) soi un total de 740px.*/
	float : right;
	}
/* Attention au calcul si vous modifiez ces valeurs. 
Le total doit être inférieur à la largeur du sidebar.
Ici, 6 + 146 + 6 + 6 + 146 + 6 = 316 < 320 */
#blognav {
	width : 120px;/*alors ça c'est mon bloc central*/
	float : left;/*je dois le laisser comme ça, si je met center ça bouge le blogextra (le bloc totalement à droite)*/
	margin-top : 107px; /*la marge par rapport au haut pour le menu central*/
	padding : 0 40px; /*je met 40px pour centrer mes boutons */
	/*overflow:hidden;*/
	}
#blogextra {
	width : 200px;/*c'est mon bloc totalement à droite*/
	margin-top : 77px;/*la marge par rapport au haut pour le menu totalement à droite*/
	padding : 0 170px; /*ça devrait centrer mon menu totalement à droite*/
	float : right;
	/*overflow:hidden;*/
	}

Modifié par Louna Lou (03 Nov 2008 - 13:27)
Bonjour,

Je ne suis pas sûr que ce cas de figure soit présent dans les spécifications et donc que tel ou tel navigateur ait raison ou tort sur ce point.
C'est lié au traitement spécifique de BODY, qui n'est pas une boite CSS comme les autres mais un élément «magique» au comportement pas toujours prévisible.

Donc: utiliser cette image de fond sur div#page plutôt que sur body.

En passant: un conteneur de 1300px de large (ou tout conteneur ayant une largeur fixe en pixels supérieure à 990px), c'est une bêtise.
Merci de répondre aussi rapidement. Smiley baiser

Je vais sans doute poser une question idiote, mais div#page c'est la même chose que #page ou pas ?

J'avais déjà essayé, je viens de le refaire (mettre l'image de fond dans #page) mais du coup tout est toujours ok avec IE, par contre avec Mozilla Firefox, l'image ne s'affiche que sur la hauteur du #top. Voir photo ci dessous pour comprendre mieux :

upload/17352-Alsa03.jpg

Du coup par contre je n'ai plus le même problème quand je réduis la fenètre.

C'est dû à quoi selon toi ?


Entièrement d'accord avec toi pour le conteneur, je ne vais pas en rester là Smiley lol
Louna Lou a écrit :
Je vais sans doute poser une question idiote, mais div#page c'est la même chose que #page ou pas ?

Hum... ça dépend de quoi on parle. Dans ma phrase, div#page était un raccourci pour «l'élément DIV qui porte l'identifiant "page"».
En syntaxe CSS, les sélecteurs #page et div#page viseront tout les deux cet élément. Mais il ne sont pas identiques pour autant: #page vise tout élément portant l'identifiant "page" (ce pourrait être un paragraphe, un blockquote, un lien...), tandis que div#page vise spécifiquement un élément DIV.

Côté CSS, tu peux garder #page comme sélecteur, c'est suffisamment précis.

Louna Lou a écrit :
J'avais déjà essayé, je viens de le refaire (mettre l'image de fond dans #page) mais du coup tout est toujours ok avec IE, par contre avec Mozilla Firefox, l'image ne s'affiche que sur la hauteur du #top

Eh bien Firefox a juste (on peut vérifier avec Opera, Safari ou même IE8!), et IE 6-7 a faux.

L'image ne s'affiche bien sur toute la hauteur du bloc. C'est juste que ton bloc ne fait pas la hauteur attendue. Cela vient du fait que les éléments flottants placés après ton #top dépassent de leur conteneur.

Un peu de lecture:
http://web.covertprestige.info/test/03-elements-flottants-et-element-parent-1.html
a écrit :
L'image ne s'affiche bien sur toute la hauteur du bloc.

Tu veux dire "pas bien" ? C'est ça hein ?


(je vais lire ton truc et je reviens.)
Louna Lou a écrit :
Tu veux dire "pas bien" ? C'est ça hein ?

Non. L'image s'affiche sur toute la hauteur du bloc. Si elle est coupée, c'est que le bloc n'est pas assez haut. Mets une bordure au bloc (border: 10px dotted red;) si ça ne te semble pas clair.
Smiley mur Smiley mur Smiley mur

Je n'y comprend plus rien. Je viens d'essayer des pourcentages ça ne change rien, plus rien n'est centré et je ne comprend pas ta réponse du tout... Smiley bawling


Je vais aller manger ça je sais faire Smiley lol Smiley murf
Louna Lou a écrit :
Je viens d'essayer des pourcentages ça ne change rien

Oui c'est normal, ça n'est pas censé changer quoi que ce soit. Où diable as-tu lu qu'il fallait utiliser des pourcentages pour empêcher le dépassement des flottants? Smiley confuse

Louna Lou a écrit :
je ne comprend pas ta réponse du tout... Smiley bawling

As-tu essayé de donner une bordure à ton conteneur (div#page) comme je le conseillais?

Tu peux aussi utiliser Firebug ou la Web Developer Toolbar pour mieux visualiser l'espace occupé par les différents blocs.

Concernant le dépassement des flottants, l'article que j'ai indiqué me semble suffisamment clair. Peut-être serait-il bon de le relire attentivement?
Modifié par Florent V. (02 Nov 2008 - 19:41)
a écrit :
Oui c'est normal, ça n'est pas censé changer quoi que ce soit. Où diable as-tu lu qu'il fallait utiliser des pourcentages pour empêcher le dépassement des flottants?

Nulle part, j'imagine, je visualise et j'essaie des trucs. Je veux dire, tout ce qui marche n'est que pur hasard, je n'y comprend vraiment rien en code. Ca va faire 10 heures que j'essaie de comprendre cette histoire, et je ne suis pas plus éclairée que ce matin. Je me disais que les pourcentages permettraient d'adapter la taille des différents blocs sans avoir à donner de largeur prédéfinie à la page, pour que ça s'adapte au mieux selon chaque écran. Non ? Smiley confused

a écrit :
As-tu essayé de donner une bordure à ton conteneur (div#page) comme je le conseillais?

Non, je n'ai pas essayé, parce que je n'y comprend rien lol, j'en rigole toute seule.

a écrit :
Tu peux aussi utiliser Firebug ou la Web Developer Toolbar pour mieux visualiser l'espace occupé par les différents blocs.

C'est une idée. Je crois que tu me surestime vraiment pour me lancer des trucs comme si c'était d'une évidence même. Je vais faire une recherche google pour savoir de quoi tu me parles Smiley lol

a écrit :
Concernant le dépassement des flottants, l'article que j'ai indiqué me semble suffisamment clair. Peut-être serait-il bon de le relire attentivement?

Oui, fait et refait. Enfin ceci dit même attentivement ça reste un peu du chinois pour moi. Je ne sais même pas dans quel navigateur le lire, les éléments changent de place selon le navigateur. Smiley fou



Je continue les recherches... Smiley cligne
Modifié par Louna Lou (02 Nov 2008 - 20:36)
Louna Lou a écrit :
je n'y comprend vraiment rien en code

Pour ce problème, il y a deux solutions:
1. Se former méthodiquement et en commençant par les bases (pas foncer bille en tête Smiley cligne ).
2. Confier le travail à quelqu'un qui y comprend quelque chose.

Louna Lou a écrit :
Je ne sais même pas dans quel navigateur le lire, les éléments changent de place selon le navigateur. Smiley fou

Travaille de préférence avec Firefox, Safari, Opera, Camino ou Chrome. Enfin bref, tout sauf Internet Explorer.

Ah oui, et gérer les largeurs avec des pourcentages est une possibilité. Mais ce n'est pas le plus simple à gérer quand on débute.
Modifié par Florent V. (02 Nov 2008 - 20:50)
Florent V. a écrit :

As-tu essayé de donner une bordure à ton conteneur (div#page) comme je le conseillais?

Ca y est.

http://lejoyeuxbordel.free.fr/dotclear/

Donc si je comprend bien :

1) je dois faire rentrer mes deux cadres verts cote à cote dans mon cadre rose de droite.

2) je dois faire rentrer mes deux cadres roses cote à cote dans mon cadre jaune.

3) je dois faire rentrer mon cadre jaune dans mon cadre bleu

4) je dois faire rentrer mon cadre bleu dans mon cadre rouge.


Merci, c'est effectivement plus clair comme ça meme si pour le moment je ne sais pas encore par où commencer Smiley baiser
Florent V. a écrit :

Pour ce problème, il y a deux solutions:
1. Se former méthodiquement et en commençant par les bases (pas foncer bille en tête Smiley cligne ).
2. Confier le travail à quelqu'un qui y comprend quelque chose.

1. Oui mais c'est tellement plus simple de te demander où chercher Smiley biggrin (Ne te méprend pas, je touche les codes en général une fois par an, et j'oublie le reste de l'année, donc parfois je me dis que je me prend bien la tête pour pas grand chose, juste un caprice de vouloir un menu central...)
2. Serait-ce une proposition ? Smiley cligne

Florent V. a écrit :

Travaille de préférence avec Firefox, Safari, Opera, Camino ou Chrome. Enfin bref, tout sauf Internet Explorer.

Je fais avec firefox et internet explorer, parce que je me dis bêtement que si ça marche à peu près sur ces deux là, ça doit bien marcher sur les autres. Ceci dit j'ai peut être tort, je ne connais pas les autres et je ne les ai jamais utilisés.

Florent V. a écrit :

Ah oui, et gérer les largeurs avec des pourcentages est une possibilité. Mais ce n'est pas le plus simple à gérer quand on débute.

Ah mais paradoxalement mon cher Florent, je suis hyper douée pour les pourcentages.
Grace à ton idée lumineuse d'encadrer mes blocs, j'ai trouvé la faille et j'ai un merveilleux blog avec mon design que je veux, le tout en pourcentage et je peux réduire les fenêtres sous firefox ou internet explorer, ça reste parfait Smiley biggrin MERCI BEAUCOUP Smiley baiser
http://lejoyeuxbordel.free.fr/dotclear/

Le seul petit truc qui me dérange, c'est que le menu de droite ne puisse pas à la fois être centré et justifié. Tu aurais pas un de tes petits trucs magiques sous le coude par hasard ?
Modifié par Louna Lou (03 Nov 2008 - 13:06)
a écrit :
Le seul petit truc qui me dérange, c'est que le menu de droite ne puisse pas à la fois être centré et justifié. Tu aurais pas un de tes petits trucs magiques sous le coude par hasard ?

C'est bon j'ai trouvé !! Grace aux pourcentage.

Mon bloc de droite faisait 66% et les écritures étaient centrées automatiquement.
Si je demandais à aligner les écritures, elles s'alignaient sur la gauche près de la ligne verticale, et ne restaient pas centrées.

Du coup j'ai réduit la taille du bloc du 1/3 de sa valeur et j'ai justifié, et hop le tout reste centré même en réduisant la fenêtre. Smiley lol
Modifié par Louna Lou (03 Nov 2008 - 13:24)