28173 sujets

CSS et mise en forme, CSS3

Bonsoir,

Je me permets de m'inscrire sur le forum alsacreation car après avoir acheté le livre de Raphael Goetter (Edition Eyroles) il faut bien que je trouve la solution à mes problèmes autre part Smiley smile

Bon et bien rien qu'avec ça j'ai un problème étrange et je boucle dessus (j'ai pourtant déjà fait 2 sites complets en css...). Peût être allez-vous pouvoir m'aider. J'ai volontairement isolé et épuré le bout de code en question du reste du site afin de ne pas avoir de code parasite. Ca donne donc un truc très simple : un div et un h2.

Lorsque je veux placer le h2 à 20pix du bord haut du div, le fond du div se déplace de 20pix sous FF (pas sous IE)... je ne comprends pas pourquoi ? Smiley eek D'autant que lorsque je rajoute une bordure de 1pix histoire de voir qui déconne, tout se replace comme si de rien n'était...j'avoue que je ne comprends pas Smiley ohwell
J'ai peut être plus le recul nécessaire pour voir la petit boulette à deux sous, alors je poste et je verrais ça demain à tête reposée...

	<style type="text/css" media="all">
		#partie1 {
			background: url(test.jpg) top left no-repeat; //l'image fait la taille du div
			width: 755px;
			height: 453px;
			padding:0;
			margin:0;
			/*border: #FF00FF 1px solid;*/
		}
		
		#partie1 h2 {
			background: url(test2.jpg) top left no-repeat;
			width: 302px;
			height: 21px;
			padding: 0;
			margin-top: 20px;
			margin-right: 0; 
			margin-bottom: 0;
			margin-left: 0;
		}
		#partie1 h2 span {
			display: none;
		}
	</style>


<div id="partie1"><h2><span>Pourquoi ?</span></h2></div>

Modifié par Netrunner (23 May 2006 - 09:32)
Administrateur
Netrunner a écrit :
Lorsque je veux placer le h2 à 20pix du bord haut du div, le fond du div se déplace de 20pix sous FF (pas sous IE)... je ne comprends pas pourquoi ?

Il s'agit d'un problème bizarre mais classique de "fusion de marges".
Une recherche dans le forum te permettra de trouver un bon nombre de pistes Smiley cligne
Désolé pour le titre, je suis pourtant admin d'un autre forum j'aurais dû faire attention...mea culpa Smiley sweatdrop .

Pour la recherche, j'ai déjà essayé bien sûr (google, alsacreationssssssss Smiley ravi ) mais en fait ne sachant pas d'où venait réellement le problème je ne savais tout bonnement pas quoi chercher. Je suis arrivé sur le forum d'alsacreations en cherchant "decalage de div margin-top disparait avec border" sur google...
J'ai ensuite fait une recherche sur "décalage" sur alsacreations, mais rien d'intéressant relatif à ce sujet.

Je remercie mpop pour son lien et Raphael pour ses "mots-clés". Je vais y jeter un oeil. En tout cas merci pour la rapidité de vos réponses Smiley confused

Sinon, trouvez-vous ce problème bien logique ?? Comment peut-on expliquer que le fait de simplement rajouter une bordure au bloc parent suffise à repositionner tout le monde ?
Modifié par Netrunner (23 May 2006 - 09:32)
Bonjour,
a écrit :
4.1.1 La mise en forme verticale

Pour les éléments de type bloc non-flottants, la largeur de la marge correspond à une distance minimum entre le contenu et le bord des boîtes qui l'entourent. Si aucune bordure, ni espacement, ni contenu ne séparent deux (ou plus) marges verticales adjacentes, alors elles fusionnent et la résultante est la plus grande de ces valeurs de marge. Dans la plupart des cas, cette fusion des marges verticales donne un meilleur aspect visuel, plus proche des attentes de l'auteur. (...)

(source : http://www.yoyodesign.org/doc/w3c/css1/#vertical-formatting)

C'est le cas pour les traitements de textes.
Modifié par Smiley neko (23 May 2006 - 09:34)
neko a écrit :
Bonjour,
4.1.1 La mise en forme verticale

Pour les éléments de type bloc non-flottants, la largeur de la marge correspond à une distance minimum entre le contenu et le bord des boîtes qui l'entourent. Si aucune bordure, ni espacement, ni contenu ne séparent deux (ou plus) marges verticales adjacentes, alors elles fusionnent et la résultante est la plus grande de ces valeurs de marge. Dans la plupart des cas, cette fusion des marges verticales donne un meilleur aspect visuel, plus proche des attentes de l'auteur. (...)
(source : http://www.yoyodesign.org/doc/w3c/css1/#vertical-formatting)
C'est le cas pour les traitements de textes.

humm humm... dans ce cas c'est moi qui ne suis pas logique Smiley lol