28172 sujets

CSS et mise en forme, CSS3

Bonjour à toutes et tous,
Voilà je me remets à la création de site et c'est pas facile…
Je suis partie d'un gabarit dreamweaver pour réaliser mes pages en css.
Voilà sauf que j'ai bien mon entête en haut, mon sidebar1 en dessous à gauche, mon content à droite de ce dernier, reste ma 3ème colonnes "sidebar2" qui reste en dessous… Elle ne veut pas ce positionner à droite, c'est mon menu.
Je cherche partout des solution mais je commence à m'embrouiller la tête faute de recule…
Si quelqu'un voit l'erreur, merci d'avance!
Virginie

mon code css :

@charset "UTF-8";
body {
background-attachment: fixed;
	background-image: url(img/fond2.jpg);
	background-repeat: no-repeat;
	background-position: center;
}

/* ~~ Sélecteurs d'éléments/balises ~~ */
ul, ol, dl { /* En raison des variations entre les navigateurs, il est conseillé d'attribuer une valeur de zéro aux marges intérieures et aux marges des listes. A des fins de cohérence, vous pouvez définir les valeurs désirées dans cette zone ou dans les éléments de liste (LI, DT, DD) qu'elle contient. N'oubliez pas que les paramètres que vous définissez ici se répercuteront sur la liste .nav, sauf si vous rédigez un sélecteur plus spécifique. */
	padding: 0;
	margin: 0;
}
h1, h2, h3, h4, h5, h6, p {
	margin-top: 0;	 /* la suppression de la marge supérieure résout un problème où les marges sortent de leur div conteneur. La marge inférieure restante l'éloignera de tout élément qui suit. */
	padding-right: 15px;
	padding-left: 15px; /* l'ajout de la marge intérieure aux côtés des éléments à l'intérieur des divs, et non aux divs proprement dit, évite le recours à des calculs de modèle de boîte. Une autre méthode consiste à employer une div imbriquée avec marge intérieure latérale. */
}
a img { /* ce sélecteur élimine la bordure bleue par défaut affichée dans certains navigateurs autour d'une image lorsque celle-ci est entourée d'un lien. */
	border: none;
}

/* ~~ La définition du style des liens de votre site doit respecter cet ordre, y compris le groupe de sélecteurs qui créent l'effet de survol. ~~ */
a:link {
	color:#414958;
	text-decoration: underline; /* à moins que vous ne définissiez un style particulièrement exclusif pour vos liens, mieux vaut prévoir un soulignement, qui garantit une identification visuelle rapide. */
}
a:visited {
	color: #4E5869;
	text-decoration: underline;
}
a:hover, a:active, a:focus { /* ce groupe de sélecteurs offrira à un navigateur au clavier la même expérience de survol que celle d'une personne employant la souris. */
	text-decoration: none;
}

/* ~~ ce conteneur entoure toutes les autres divs, en leur attribuant leur largeur sur base d'un pourcentage ~~ */
.container {
	width: 960px;
	background: #FFFFFF;
	margin: 0 auto; /* la valeur automatique sur les côtés, associée à la largeur, permet de centrer la mise en page */
}

/* ~~ Aucune largeur n'est attribuée à l'en-tête. Il occupera toute la largeur de votre mise en page. Il contient un espace réservé pour une image, qui doit être remplacé par votre logo lié. ~~ */
.header {
	background: #fff;
}

/* ~~ Colonnes pour la mise en page. ~~ 

1) La marge intérieure n'est placée qu'en haut et/ou en bas des divs. Les éléments à l'intérieur de ces divs posséderont une marge intérieure sur les côtés. Vous évitez ainsi de devoir recourir à des « calculs de modèle de boîte ». N'oubliez pas que si vous ajoutez une marge intérieure latérale ou une bordure à la div proprement dite, elle sera ajoutée à la largeur que vous définissez pour créer la largeur totale. Vous pouvez également supprimer la marge intérieure de l'élément dans la div et placer une seconde div à l'intérieur, sans largeur et possédant une marge intérieure appropriée pour votre concept.

2) Toutes les colonnes étant flottantes, aucune marge ne leur a été attribuée. Si vous devez ajouter une marge, évitez de la placer du côté vers lequel vous effectuez le flottement (par exemple, une marge droite sur une div configurée pour flotter vers la droite). Dans de nombreux cas, vous pouvez plutôt employer une marge intérieure. Pour les divs où cette règle ne peut pas être respectée, ajoutez une déclaration « display:inline » à la règle de la div, afin de contourner un bogue qui amène certaines versions d'Internet Explorer à doubler la marge.

3) Comme des classes peuvent être employées à plusieurs reprises dans un document (et que plusieurs classes peuvent aussi être attribuées à un élément), les colonnes ont reçu des noms de classes au lieu d'ID. Par exemple, deux divs de barre latérale peuvent être empilées si nécessaire. Elles peuvent être très facilement remplacées par des ID si vous le souhaitez, pour autant que vous ne les utilisiez qu'une fois par document.

4) Si vous préférez que la navigation se trouve à droite et pas à gauche, faites flotter ces colonnes en sens opposé (toutes vers la droite au lieu de vers la gauche). Leur rendu s'effectuera dans l'ordre inverse. Il n'est pas nécessaire de déplacer les divs dans le code HTML source.

*/
.sidebar1 {
	float: left;
	width: 300px;
	padding-bottom: 20px;
	
}
.content {
	padding: 20px 0;
	width: 400px;
	float: left;

}
.sidebar2 {
	float: left;
	width: 200px;
	padding: 20px 0;

}

/* ~~ Ce sélecteur groupé donne de l'espace aux listes dans la zone .content ~~ */
.content ul, .content ol { 
	padding: 0 15px 15px 40px; /* cette marge intérieure reflète la marge intérieure droite dans les en-têtes et la règle de paragraphe ci-dessus. Une marge intérieure a été placée en bas, afin d'assurer un espace entre les autres éléments des listes, et à gauche pour créer le retrait. Vous pouvez les régler comme bon vous semble. */
}

/* ~~ Styles de liste de navigation (peuvent être supprimés si vous optez pour un menu de survol prédéfini tel que Spry) ~~ */
ul.nav {
	list-style: none; /* entraîne la suppression du marqueur de liste */
	border-top: 1px solid #666; /* crée la bordure supérieure des liens ; les autres sont placées à l'aide d'une bordure inférieure sur la balise LI */
	margin-bottom: 15px; /* crée l'espace entre la navigation et le contenu en dessous */
}
ul.nav li {
	border-bottom: 1px solid #666; /* crée la séparation des boutons */
}
ul.nav a, ul.nav a:visited { /* le regroupement de ces sélecteurs garantit que vos liens conservent leur apparence de bouton, même après avoir été activés */
	padding: 5px 5px 5px 15px;
	display: block; /* attribue au bloc de liens des propriétés qui lui font remplir toute la balise LI qui le contient. Force la zone entière à réagir à un clic de souris. */
	text-decoration: none;
	background: #8090AB;
	color: #000;
}
ul.nav a:hover, ul.nav a:active, ul.nav a:focus { /* modifie la couleur de l'arrière-plan et du texte pour les navigateurs à la souris et au clavier. */
	background: #6F7D94;
	color: #FFF;
}

/* ~~ Pied de page ~~ */
.footer {
	padding: 10px 0;
	position: relative;/* donne hasLayout à IE6 de façon à permettre un effacement correct */
	clear: both; /* cette propriété d'effacement force le .container à comprendre où se terminent les colonnes et à les contenir */
}

/* ~~ classes flottant/effacement diverses ~~ */
.fltrt {  /* cette classe peut servir à faire flotter un élément depuis la droite sur votre page. L'élément flottant doit précéder l'élément à côté duquel il doit apparaître sur la page. */
	float: right;
	margin-left: 8px;
}
.fltlft { /* cette classe peut servir à faire flotter un élément depuis la gauche sur votre page. L'élément flottant doit précéder l'élément à côté duquel il doit apparaître sur la page. */
	float: left;
	margin-right: 8px;
}
.clearfloat { /* cette classe peut être placée sur une div <br /> ou vide, en tant qu'élément final suivant la dernière div flottante (dans le #container) si le paramètre #footer est supprimé ou retiré du #container */
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}


et celui de ma page :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Document sans nom</title>
<link href="pagecentral.css" rel="stylesheet" type="text/css" /><!--[if lte IE 7]>
<style>
.content { margin-right: -1px; } /* cette marge négative de 1px peut être placée sur n'importe quelle colonne de cette mise en page, avec le même effet correcteur. */
ul.nav a { zoom: 1; }  /* la propriété de zoom donne à IE le déclencheur hasLayout requis pour corriger les espaces blancs supplémentaires entre les liens */
</style>
<![endif]-->
<style type="text/css">

* {
	margin: 0;
	padding: 0;
}
ul, ol, li {
	list-style: none;
}

#Menu{float:left; margin: 20px; font-family:Tahoma; text-transform: uppercase; }
#DivGreen{border-left:20px solid #059c4b; padding: 2px; min-height:20px; margin-bottom: -5px;}
#DivLightGreen{border-left:20px solid #95c20f; padding: 2px; min-height:20px; margin-bottom: -5px;}
#DivYellow{border-left:20px solid #ffec01; padding: 2px; min-height:20px; margin-bottom: -5px;}
#DivOrange{border-left:20px solid #eb6909; padding: 2px; min-height:20px; margin-bottom: -5px;}
#DivPurple{border-left:20px solid #a32e96; padding: 2px; min-height:20px; margin-bottom: -5px;}
#DivRaisin{border-left:20px solid #990000; padding: 2px; min-height:20px; margin-bottom: -5px;}

#DivTitle{background: #7a6852; color: #fffaf0; font-size: 18px; text-align:center; padding: 2px; height:20px; width: 200px;}

#DivGreen{padding: 5px 0 5px 0px;}
#DivGreen ul li { border-left: 15px solid #76b854; padding: 3px; margin-bottom: 5px; height: 15px; font-size: 12px;}
#DivGreen ul li:hover {background: #76b854; cursor: pointer;}

#DivLightGreen{padding: 5px 0 5px 0px;}
#DivLightGreen ul li { border-left: 15px solid #ddda01; padding: 3px; margin-bottom: 5px; height: 15px; font-size: 12px;}
#DivLightGreen ul li:hover {background: #ddda01; cursor: pointer;}

#DivYellow{padding: 5px 0 5px 0px;}
#DivYellow ul li { border-left: 15px solid #fcf581; padding: 3px; margin-bottom: 5px; height: 15px; font-size: 12px;}
#DivYellow ul li:hover {background: #fcf581; cursor: pointer;}

#DivOrange{padding: 5px 0 5px 0px;}
#DivOrange ul li { border-left: 15px solid #fbcc04; padding: 3px; margin-bottom: 5px; height: 15px; font-size: 12px;}
#DivOrange ul li:hover {background: #fbcc04; cursor: pointer;}

#DivPurple{padding: 5px 0 5px 0px;}
#DivPurple ul li { border-left: 15px solid #e2bdcf; padding: 3px; margin-bottom: 5px; height: 15px; font-size: 12px;}
#DivPurple ul li:hover {background: #e2bdcf; cursor: pointer;}

#DivRaisin{padding: 5px 0 5px 0px;}
#DivRaisin ul li { border-left: 15px solid #ff3300; padding: 3px; margin-bottom: 5px; height: 15px; font-size: 12px;}
#DivRaisin ul li:hover {background: #e2bdcf; cursor: pointer;}




</style>
</head>

<body>

<div class="container">
  
  <div class="header">
  <a href="#"><img src="img/helfertitre.gif" width="322" height="73" /></a> 
    <!-- end .header --></div>
    
<div class="sidebar1">
   <img src="img/formekiwi.gif" width="299" height="381" />
  <!-- end .sidebar1 --></div>

<div class="content">
   <div style="background-color: rgba(255, 255, 255, 0.5) ">
     <p>KIWIS</p>
     <p><br />
       ORIGINES / DISPONIBILITÉS<br />
       France / Corse............décembre à mai<br />
       Chili..........................mai à juin<br />
       Nouvelle Zélande........Juin à novembre<br />
       Le groupe Georges Helfer est spécialiste dans la distribution<br />
       du kiwi 12 mois sur 12 avec un volume d'environ 6'000 tonnes.</p>
     <p>EMBALLAGES DISPONIBLES<br />
       Plateau.................3 kg<br />
       Vrac.................6 kg<br />
       Girsacs.................2 oder 3 kg<br />
       Bins.................60 kg<br />
     Barquettes.................1 kg</p>
     <p>&nbsp;</p>
    <!-- end .content --></div>
  
  
  <div class="sidebar2">
    <div id="Menu">
      <div id="DivGreen"></div>
      <div id="DivTitle">Société</div>
      <div id="DivGreen">
        <ul id="ListGreen">
          <li>historique</li>
          <li>objectifs</li>
          <li>situation géographique</li>
          <li>chiffres clés</li>
          <li>marques</li>
          <li>clients</li>
        </ul>
      </div>
      <div id="DivTitle">Produits</div>
      <div id="DivLightGreen">
        <ul id="ListGreen">
          <li>Kiwi</li>
        </ul>
      </div>
      <div id="DivYellow">
        <ul id="ListYellow">
          <li>lime</li>
          <li>citron</li>
          <li>orange</li>
          <li>pomelo</li>
          <li>clémentine</li>
        </ul>
      </div>
      <div id="DivOrange">
        <ul id="ListOrange">
          <li>avocat</li>
          <li>litchi</li>
          <li>mangue</li>
          <li>gimgembre</li>
          <li>patate douce</li>
          <li>grenade</li>
        </ul>
      </div>
      <div id="DivPurple">
        <ul id="ListPurple">
          <li>abricot</li>
          <li>cerise</li>
        </ul>
      </div>
      <div id="DivRaisin">
        <ul id="ListRaisin">
          <li>raisin</li>
        </ul>
      </div>
      <div id="DivTitle">contact</div>
    </div>
    <h4>&nbsp;</h4>
    <!-- end .sidebar2 --></div>
  
  <div class="footer">
    <img src="img/formepied.gif" width="685" height="68" />
    <!-- end .footer --></div>
  <!-- end .container --></div>
</body>
</html>
Bonjour,

Déjà ton code est très long pour le lire en entier, essaye de le simplifier au maximum. Sûrement quelqu'un aura le plaisir de t'aider.
Bonjour,

Il manque une fermeture de </div> dans ton code, juste avant "<!-- end .content --></div>".
C'est "<div style="background-color: rgba(255, 255, 255, 0.5) ">" qui n'est pas fermé.

Parfois un petit coup de validateur HTML peut être bien utile. Smiley cligne
Il y a d'ailleurs quelques autres erreurs à corriger.