28172 sujets

CSS et mise en forme, CSS3

Bonjour,

J'ai suivi le splendide tutorial permettant de créer soi-même son petit site en CSS/HTML.
Je suis arrivé à un résultat qui me convient, mais j'ai quelques petits soucis.
Premier problème : j'ai un div header qui contient une image de fond. Celle-ci est décalée d'une dizaine de pixel vers le bas sous Firefox mais sous IE elle est correctement insérée dans le div. Je ne comprends pas où ça coince...
Deuxième problème : j'ai un autre div de menu sur la gauche de ma page. Le menu est une liste tout ce qu'il y a de plus bête (ul et li) mais elle ne se place pas correctement !! Elle est en effet centrée dans le div et non pas placée sur la gauche, ce qui fait que les éléments de menu trop longs se retrouvent sur 2 lignes, ce qui est moche...
Ci-joint le code de ma page et la CSS (enfin les parties importantes).

<body>
<div id = "global">
	<div id = "header">
		<h1 class = "title"><a href = "test.php" title = "GUILDO Exode">GUILDO</a></h1>
	</div>
			<div id = "connection">
				Vous n'êtes pas connecté : <a href = "#">se connecter</a> ou <a href = "#">s'inscrire</a>.
			</div>

		<div id = "navigation">
			<ul class = "menu">
				<li><a href = "#">Gérer mon compte</a></li>
				<li><a href = "#">Mes personnages</a></li>
				<li><a href = "#">Récapitulatif</a></li>
				<li><a href = "#">Artisanat</a></li>
				<li><a href = "#">Coffre commun</a></li>
				<li><a href = "#">Expéditions</a></li>
			</ul>
		</div>			
			<div id = "corps">
				<h2>Bienvenue sur GUILDO</h2>
				<p>Elitr fabulas mel ex. Sed admodum detracto an. In vel diam quas exerci, at velit aliquip denique cum.</p>
				<h3>Gérez vos expéditions !</h3>
				<p>Cum te diam persecuti. Iudico partiendo concludaturque pro ex, no quas natum volumus est, vis et dicunt scripta.</p>
				<hr />
				<h3>Mise à niveau automatique des personnages !</h3>
				<p>Cum te diam persecuti. Iudico partiendo concludaturque pro ex, no quas natum volumus est</p>
			</div>
	<div id = "footer">
		<p><a href = "#">Forum</a> - <a href = "#">Admin</a></p>
	</div>
<div class = "cleaner"></div>
	
</div>
</body>


La feuille de style :

body {
	margin: 10px 0 ;
	padding: 0;
	text-align: center ;
	font: 0.8em "Trebuchet MS", helvetica, sans-serif ;
	background: #ffeba7 ;
}

#global {
/*conteneur global de la page*/
	width: 770px ;
	margin: 0 auto ;
	text-align: left ;
	background: #fff6e9;
	border: 1px solid #7d5827 ;
}

#header {
/*le header*/
	margin: 0;
	padding: 0;
	height: 200px;
	background: url(images/header.jpg) no-repeat left top;
}

#navigation {
/*le menu*/
	float: left;
	text-align: left;
	padding: 20px 0px 0px 0px;
	width: 170px;
	background: #fff6e9;
}

#connection {
/*le bandeau de connexion*/
	float: left;
	text-align: right;
	width: 740px;
	height: 25px;
	padding: 5px 30px 0px 0px ;
	background: #fff6e9;
}

#corps {
/*le corps de la page*/
	padding: 15px 30px 15px 30px ;
	width: 540px;
	float: left;
	background: #fff6e9;
}

#footer {
/*le footer*/
	float: left;
	padding : 0;
	height: 50px;
	padding: 10px 0 0 0;
	width: 770px;
	/*background: #D2A66C ;*/
	background: url(images/footer.jpg) no-repeat;
	text-align: center;
}
.cleaner {
/* permet d'aligner le menu, le bandeau de connexion et le corps */
  clear:both;
  font-size:1px;
  line-height:1px;
}

.menu li{
	font: 13px "Trebuchet MS", helvetica, sans-serif ;
	list-style: none;
	margin: 10px 0 5px 10px;
	padding: 0 0 0 15px;
	background: url(images/fleche.gif) no-repeat left;
	vertical-align: top;
}



Désolé du pavé Smiley confused et si quelqu'un a une idée je suis preneur !

Merci d'avance

Edit : je mets le lien pour visualiser le bazar : www.garfunk.fr/test.php
Modifié par garfunk (29 Nov 2008 - 12:38)
Je me réponds à moi-même...
J'ai à peu près réussi a aligner le menu en mettant tous les margin et padding a 0, et en mettant un text-indent négatif.
C'est moche mais apparemment j'ai pas le choix Smiley decu
Pour la bande blanche, celle-ci disparaît lorsque je retire la bordure noire qui entoure toute la page. J'ai donc décidé de la retirer en attendant mieux...
Pour ton décalage d'image, pourquoi avoir gardé le bloc <h1> dans ton #header ?
Il te suffit d'enlever ce bloc et de laisser vide entre les balise comme suit :
<div id = "header"></div>

puisque ton image est définie en CSS.
La tu n'auras plus de problème de décalage et tu pourras garder ta bordure.
Pour ton menu, il te suffit de paramétrer la classe menu avec des marges nulle de manière à avoir ton menu collé sur le bord gauche.
Car toi tu n'as paramétré que .menu li (donc pas .menu)

.menu {
margin: 0px;
padding: 0px;
}
Merci beaucoup bjorken, ça fonctionne ! Je n'avais pas pensé que .menu prenait des marges par défaut...
Pour le h1, il permet de mettre une image à la place du titre (c'est la méthode utilisée dans le tutorial, en particulier pour conserver une page lisible pour les synthétiseurs vocaux). Si je supprime le h1, j'ai toujours ma bannière mais je perds les informations du titre (le GUIDO collé par-dessus).
Je vais y réfléchir, merci encore Smiley cligne
Dans les directives du WAI il ne me semble pas que la méthode soit de mettre une balise en substitution d'une autre, mais de renseigner comme tu l'as fait la balise <title> et <alt> afin que les lecteurs vocaux puissent lire les contenus textes des éléments graphiques.

Voic un PDF qui te renseignera sur les 14 directives.

http://www.pierre-leccia.net/transferts/wai.pdf

Si tu tiens quand même à mettre ta balise <h1>, je constate que tu as indiqué une classe "title" qui n'est pas renseignée dans ton CSS. Il te suffit donc de créer cette classe dans ton CSS et d'indiquer des margins et paddings à 0 et ton image sera également bien placée.
J'ai récupéré mon titre en faisant ça:
.title {
	margin: 0;
	padding: 0;
}

.title a
/*lien cliquable de titre*/
{
	margin: 0;
	padding: 0;
	width: 376px ;
	height: 95px ;
	display: block ;
	background: url(images/title.png) no-repeat ;
	position: relative ;
	left: 330px ;
	top: 40px ;
	text-indent: -5000px ;
}

Je sais, c'est sale Smiley sweatdrop
J'ai un souci maintenant avec mes puces de menu, elle n'apparaissent pas...
Je ne comprends pas, ce n'est pas un problème de lien, il est correct...
Si tu peux me renseigner Smiley cligne
Le CSS :
.menu {
	margin: 0px;
	padding: 0px;
}

.menu li {
	font: 13px "Trebuchet MS", helvetica, sans-serif ;
	list-style: none;
	margin: 15px 0 0 15px;
	padding: 0;
	list-style-image: url(images/puce.gif) no-repeat;
}

La page html :
	<div id = "navigation">
		<ul class = "menu">
			<li><a href = "#">Gérer mon compte</a></li>
			<li><a href = "#">Mes personnages</a></li>
			<li><a href = "#">Récapitulatif</a></li>
			<li><a href = "#">Artisanat</a></li>
			<li><a href = "#">Coffre commun</a></li>
			<li><a href = "#">Expéditions</a></li>
		</ul>
	</div>

Ca doit être tout bête vu qu'avant j'y suis arrivé, mais j'ai tout effacé et maintenant ça fonctionne plus...Je n'aimerais pas les mettre en dur dans le code html si je peux le faire via CSS (c'est quand même plus flexible quoi).
Merci d'avance Smiley cligne
Non, je les ai mises en dur dans le code HTML...
Je n'arrives pas a les remettre.
Tant pis, de toute façon mon menu est dans un include donc je n'ai pas à tout changer Smiley smile

La nouvelle adresse c'est www.garfunk.fr tout court.
Merci de ton aide.