Bonjour,

Voila, je viens de commencer un site et je souhaiterai mettre un cadre s'adaptant au contenu (jusqu'ici tout va bien Smiley cligne )

Mon probleme c'est que sur le coté gauche du cadre, il y a une image ce qui ne me permet pas de procéder comme je le fait habituellement cad coupé l'image en 3parties: le contour du haut, le milieu et le contour du bas.

voila grossièrement le cadre:
upload/9774-accueil.jpg

Je souhaiterai que l'image rouge reste toujours en bas a goche quelque soit la longueur du texte et que ce dernier soit décalé de facon à ne pas cacher l'image rouge.

J'attend vos reponses. Merci de votre aide Smiley lol
Il devrait y avoir moyen de placer l'image ou un bloc en absolu en bas à gauche, à partir du moment où le conteneur est positionné en relatif pour servir de référent.

Il devrait aussi être possible de travailler avec des images de fond.

Mais sans avoir d'idée précise de ta mise en page (qu'est-ce qui est décoratif, où se placera le contenu...), difficile d'en dire plus.
en faite j'ai commencer à le coder mais je me suis demander si j'avais effectué une bonne découpe ou pas...

Le rendu ce trouve sur cette page:
http://pureplayaz.free.fr/

Il y a une grosse difference entre IE et FF...

J'ai acheté le livre de CSS que vous conseillez sur le site mais j'ai tjrs pas compris le but du positionnement relatif; dès que je fais des test avec celui ci j'ai l'impression que le rendu reste le même.

Si vous trouvez que ma découpe n'est pas bonne merci de me tenir informer sur la methode la plus adéquate.
Modifié par JBENs (24 Apr 2007 - 12:28)
Ce qui est sur, c'est que tu as trop de div vides. C'est vrai que parfois, pour les cadres on a tendances à en mettre. Mais par exemple, je pense que la femme pourrait être en arrière plan de ta div page. Ensuite, tu peux jouer sur les padding pour éviter que ton texte passe par dessus.

Autre chose : 800 de largeur pour la div page, c'est trop ! en effet, si tu veux faire un site qui passe en 800 / 600, il ne faut pas dépasser 760. Si tu penses que ton sites ne rentrera jamais en 800 / 600 (mais ca n'a pas l'air d'être le cas), dans ce cas, prend direct plus grand pour t'adapter au 1024...
Merci pour le conseil du 800*600 j'avais jamais essayer de mettre mon ecran en 800*600 pour tester (le flémard par excelence Smiley langue )

Par contre pour le femme en arriere plan j'ai pas tout suivi...
en faite c'est qu'il faudrait que j'inclus l'image de la femme dans la div page?

je devrai mettre quoi comme propriété alors?

PS: je sais que j'utilise trop de div mais j'ai pas reussi à choper la bonne methode... si quelqu'un est patient: jbens@hotmail.fr Smiley ravi
Modifié par JBENs (24 Apr 2007 - 12:49)
Ba par exemple, tu mets

[code]
#page {
background: #fff url(femme.jpg) bottom left no-repeat;
}

Ensuite tu t'arranges, par exemple avec une marge sur on contenu, pour qu'il ne recouvre pas l'image. En tout cas, il vaut mieux éviter ton float left, qui risque de faire n'importe quoi si tu mets plus de contenu, et qui en tout cas ne se placera pas en bas systématiquement !
J'essayerai ce soir, Merci pour ton aide !

Si mon rendu s'affiche correctement j'ajouterai mon code sur le post.

Merci à tous pour votre aide, mais j'en est pas encore fini Smiley langue
trop pressé de voir si sa fonctionnait je vien d'essayer... Smiley smile

c bon le seul probleme c'est que s'il y a peu de texte la femme se fait décapiter Smiley ohwell

je vien de l'up sur le ftp
http://pure-playaz.free.fr

Est-il possible de donnée une taille minimal de hauteur? et si le contenu est plus important ne pas en tenir compte?
Modifié par JBENs (24 Apr 2007 - 13:22)
oui, c'est possible. il suffit d'utiliser la propriété min-height.

Cependant, cette propriété n'est pas comprise pour IE <= 6. Il faut donc lui spécifier à lui seulement une "height" à la place (sur IE <= 6, ca marche au final comme min-height)

Pour ne spécifier une propriété seulement à IE ou une de ses versions, il faut utiliser les commentaires conditionnels, il y a toutes les explications dans la FAQ.

Donc en conclusion, tu utilises min-height avec un correctif pour ie6 !
oulala mais il me semble que je viens de trouver mon prof de css du net là Smiley lol

(je dirais merci une fois mon code poster pke sinon il y en aura a chaque reponses de ma part!) Smiley ravi
Bonsoir, c'est moi que vl'a !

Après avoir été consulté le FAQ j'ai reussi à faire ce que je voulais.
Preuve en image http://pureplayaz.free.fr/index2.html

Sur cette page la mise en page est la meme
http://pureplayaz.free.fr

Mais comme vous pouvez le constater des que mon texte est plus grand alors là c'est le drame !

Besoin d'un tit coup de main? VOLONTIER !
Modifié par JBENs (24 Apr 2007 - 22:25)
Bonjour,

Je crois qu'il faudrait repartir vers la solution de Florent V, une position absolute pour l'image gauche femme, le principe devrait supporter l'allongement du texte, la découpe des images est à revoir ... Smiley lol
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head> 
<style type="text/css">

body{
font: normal 0.8em Arial, Helvetica, sans-serif;
}
#page{
min-height: 513px;
width: 800px;
position: relative;
border-left: 1px solid #AAA;
border-right: 1px solid #AAA;

}

/* Affichage interface */
#lydie_coiffure_header{
width: 800px;
height: 128px;
background-image: url(lydie_coiffure_header.gif);
}

#femme{
position: absolute;
top: 155px;
left: 0;;

}

#haut_cadre{
width: 657px;
height: 27px;
background-image:url(haut_cadre.gif);
}
#contenu_cadre{
margin: 0 0 0 27px;
padding: 0;
width: 621px;
background-image:url(contenu_cadre.gif);
}

#bas_cadre{
width: 659px;
height: 33px;
background: url(bas_cadre.gif) bottom left no-repeat;
border-left: 1px solid #AAA;
border-bottom: 1px solid #AAA;
}
/* Fin Affichage interface */

h1{
position: absolute;
margin: 70px 0 0 100px;
color: #AAA;
font: bold 1.3em Arial, Helvetica, sans-serif;
}
p{
margin: 0; /* pb avec les magin haut et bas */
}
#contenu{
min-height: 359px;
padding: 0 15px 0 0;
margin-left: 70px;
}

/* Affichage menu */
#menu{
list-style: none;
padding: 0 0 0 30px;
}
#menu li{
margin: 100px 45px 0 0;
float: left;
}
#menu li a {
font: normal 1.2em Verdana, Arial, Helvetica, sans-serif;
color: #C5C5C5;
text-decoration: none;
}
#accueil{
border-bottom: 3px solid #448CCB;
}
#accueil a:hover{
border-bottom: 3px solid #C5C5C5;
color: #448CCB;
}
#prestations{
border-bottom: 3px solid #7FBC2D;
}
#prestations a:hover{
border-bottom: 3px solid #C5C5C5;
color: #7FBC2D;
}
#produits{
border-bottom: 3px solid #F0AF37;
}
#produits a:hover{
border-bottom: 3px solid #C5C5C5;
color: #F0AF37;
}
#conseils{
border-bottom: 3px solid #F26520;
}
#conseils a:hover{
border-bottom: 3px solid #C5C5C5;
color: #F26520;
}
#contact{
border-bottom: 3px solid #C41E14;
}
#contact a:hover{
border-bottom: 3px solid #C5C5C5;
color: #C41E14;
}
/* Fin Affichage menu */

</style>

</head>
	<body>
<div id="page">
	<img src="gauche_femme.gif" id="femme" alt="" />
	<div id="lydie_coiffure_header">

		<h1>Spécialiste des cheveux frisés</h1>
		<!-- Début menu -->
		<div id="navigation">
			<ul id="menu">
				<li><a href="#">Accueil</a></li>
				<li><a href="#">Nos prestations</a></li>

				<li><a href="#">Nos produits</a></li>
				<li><a href="#">Conseils</a></li>
				<li><a href="#">Nous contacter</a></li>
			</ul>
		</div>
		<!-- Fin menu -->

	</div>

	<!-- Contenu -->
	<div id="haut_cadre"></div>
	<div id="contenu_cadre">
		<div id="contenu">
			<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
			<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
			<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
			<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
		</div>
	</div>
	
	<!-- Fin contenu -->

</div>
<div id="bas_cadre"></div>
</body>

</html>
upload/5854-contenucadr.gif
Merci a toi !

Je pense refaire la découpe pour que ton code passe sans aucun défaut.

PS: sur la div #page tu as mi une position relative, j'ai vu la difference avec et sans mais le principe de cette position je n'arrive pas a le saisir malgré avoir lu 4ou5 fois le chapitre consacré du livre "CSS 2 : Pratique du design web".
Modifié par JBENs (25 Apr 2007 - 10:26)
La position relative sert juste à décaler un élément par rapport à sa position normale dans le flux. C'est à dire que l'élément continue à prendre sa place "normale" dans le flux, et les autres éléments se placent par rapport à cette position normale, mais celui positionné en relatif s'affiche décalé de quelques pixels. C'est assez rarement utilisé à part pour faire des petits effets de décalés ou de recouvrement.
Là où c'est plus util, c'est que ca permet de déclarer un élément en tant que "positionné". C'est à dire que ces éléments fils pourront se placer par rapport à lui en position absolue. L'avantage étant qu'en mettant un élément en position relative sans spécifier de décalage avec top ou left, ça ne change absolument rien à sa propre position. Encore une fois, c'est tout bénef pour les éléments fils que tu déclares en absolu.
Exemple concret :
Il arrive souvent que le corps de ta page soit finalement dans un div d'une largeur spécifiée que tu centres sur l'écran.
Si tu veux placer un élément en absolu dans cette page et que tu n'as pas "positionné" ton élément parent (le div "pageConteneur" ou quelque chose du genre), tu vas être embêté car ton élément se placera par rapport à l'écran et tu n'arriveras pas à le centrer. La solution, c'est de mettre un position: relative au conteneur général, ce qui ne changera rien à sa position à lui, mais le top 0, left 0 d'un élément positionné en absolu correspondra au top left de ton conteneur et non de ta page...
Modifié par yahrou (25 Apr 2007 - 10:42)
Salut tout le monde,

Merci Yahrou pour cette explication.

Après avoir suivi les conseils de chacun, le resultat est là !
http://pureplayaz.free.fr
J'ai changé de résolution et opté pour le 1024/768.

Comme promis, mon code est le suivant:

Code HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head>

<!--[if lt IE 7]>
	<style type="text/css">
		#contenu{
			height: 430px;
		}
	</style>
<![endif]-->

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="description" content="Salon de coiffure sp&eacute;cialiste des cheveux fris&eacute;s, Lydie Coiffure vous propose des produits professionnels" />
<meta name="keywords" content="salon, salon de coiffure, coiffure, coiffe, lydie, lydie coiffure, cheveux, cheveu, coupe, coupes, coupe de cheveux, coupes de cheveux, cheveu sec, cheveu gras, cheveu court, cheveu long, cheveu raide, cheveu lisse, cheveu fris&eacute;, cheveux secs, cheveux gras, cheveux courts, cheveux longs, cheveux raides, cheveux lisses, cheveux fris&eacute;s, shampoing, apr&egrave;-shampoing, cr&egrave; pour cheveux, soins, soin, soins pour cheveux, soin pour cheveu, shampoing professionnel, shampoings professionnels, sp&eacute;cialiste, sp&eacute;cialiste cheveu, sp&eacute;cialiste cheveux, loreal, oreal, l'or&eacute;al, l'oreal, schwarzkopf" />
<link rel="stylesheet" href="styles.css" type="text/css" />
<title>Lydie Coiffure - Salon de coiffure Hommes &amp; Femmes - Sp&eacute;cialiste cheveux fris&eacute;s</title>
</head>

<body>
<div id="page">
	<img src="images/gauche_femme.gif" id="femme" alt="photo femme coiffure" />

	<div id="lydie_coiffure_header">
		<h1>Sp&eacute;cialiste des cheveux fris&eacute;s</h1>
		<!-- Début menu -->
		<div id="navigation">	
			<ul id="menu">
				<li id="accueil"><a href="#">Accueil</a></li>
				<li id="prestations"><a href="#">Nos prestations</a></li>

				<li id="produits"><a href="#">Nos produits</a></li>
				<li id="conseils"><a href="#">Conseils</a></li>
				<li id="contact"><a href="#">Nous contacter</a></li>
			</ul>
		</div>
		<!-- Fin menu -->
	</div>

	
	<!-- Début bloc droite -->
	<div id="bloc_produits"></div>
	<div id="bloc_contact"></div>
	<div id="bloc_conseils"></div>
	<div id="bloc_coupes"></div>
	<!-- Début bloc droite -->
	
	<!-- Contenu -->
	<div id="haut_cadre"></div>
	<div id="contenu_cadre">

		<div id="contenu">
			<p>Contenu !</p>
		</div>
	</div>

	
	<!-- Fin contenu -->	
</div>
<div id="bas_cadre"></div>

</body>
</html>


Code CSS:
body{
font: normal 12px Arial, Helvetica, sans-serif;
}
#page{
position: relative;
width: 1024px;
border-left: 1px solid #C7C6C6;
border-right: 1px solid #C7C6C6;
}

/* Affichage interface */
#lydie_coiffure_header{
width: 1024px;
height: 150px;
background-image: url(images/lydie_coiffure_header.gif);
}
#haut_cadre{
width: 845px;
height: 50px;
background-image:url(images/haut_cadre.gif);
}
#contenu_cadre{
width: 845px;
background-image:url(images/contenu_cadre.gif);
}
#bas_cadre{
width: 1024px;
height: 50px;
background: url(images/bas_cadre.gif) left no-repeat;
border-left: 1px solid #C7C6C6;
border-right: 1px solid #C7C6C6;
border-bottom: 1px solid #C7C6C6;
}
#femme{
position: absolute;
bottom: 0;
left: 0;
}
#bloc_produits{
position: absolute;
margin: 10px 0 0 855px;
width: 155px;
height: 142px;
background: url(images/produits.gif);
}
#bloc_contact{
position: absolute;
margin: 150px 0 0 855px;
width: 155px;
height: 142px;
background: url(images/contact.gif);
}
#bloc_conseils{
position: absolute;
margin: 290px 0 0 855px;
width: 155px;
height: 142px;
background: url(images/conseils.gif);
}
#bloc_coupes{
margin: 430px 0 0 855px;
position: absolute;
width: 155px;
height: 142px;
background: url(images/coupes.gif);
}

/* Fin Affichage interface */

h1{
position: absolute;
margin: 85px 0 0 100px;
color: #AAA;
font: bold 16px Georgia, "Times New Roman", Times, serif;
}
#contenu{
min-height: 430px;
padding: 0 10px 0 130px;
}
p{
margin: 0;
}

/* Affichage menu */
#navigation{
position: absolute;
margin: 0 0 0 50px;
}
#menu{
list-style: none;
margin: 0;
padding: 0;
}
#menu li{
margin: 130px 85px 0 0;
float: left;
}
#menu li a {
font: normal 1.2em Verdana, Arial, Helvetica, sans-serif;
color: #C5C5C5;
text-decoration: none;
}
#accueil{
border-bottom: 3px solid #448CCB;
}
#accueil a:hover{
border-bottom: 3px solid #C5C5C5;
color: #448CCB;
}
#prestations{
border-bottom: 3px solid #7FBC2D;
}
#prestations a:hover{
border-bottom: 3px solid #C5C5C5;
color: #7FBC2D;
}
#produits{
border-bottom: 3px solid #F0AF37;
}
#produits a:hover{
border-bottom: 3px solid #C5C5C5;
color: #F0AF37;
}
#conseils{
border-bottom: 3px solid #F26520;
}
#conseils a:hover{
border-bottom: 3px solid #C5C5C5;
color: #F26520;
}
#contact{
border-bottom: 3px solid #C41E14;
}
#contact a:hover{
border-bottom: 3px solid #C5C5C5;
color: #C41E14;
}
/* Fin Affichage menu */


Toutes critiques est bonne à prendre et merci encore !

Cordialement, JBENs
Modifié par JBENs (26 Apr 2007 - 13:42)
JBENs a écrit :
J'ai changé de résolution et opté pour le 1024/768.
Malheureusement, avec un conteneur d'exactement 1024px de large, ça ne passera jamais... Réduit-le à 960px pour être sûr et permettre au contenu de respirer un peu, même dans le cas d'un écran en 1024.
Oui je viens de m'en appercevoir...
Je suis actuellement sur un écran en résolution 1024/768 et je vois pas tout Smiley sweatdrop

Aller on est reparti sur une nouvelle découpe !! Smiley bawling

Merci pour cette infos
Modifié par JBENs (26 Apr 2007 - 16:38)