28173 sujets

CSS et mise en forme, CSS3

Bonjour!
J'ai une colle : voir l'image jointe pour mieux comprendre.
J'aimerais positionner ces blocks verts exactement ou je le souhaite. Ca fonctionne tres bien en absolu. Le problème, c'est qu'il y a certains block qui sont extensible (j'aimerais que mon montage fasse 100% de la page, mais certains block doivent etre fixe et d'autres extensibles).
je patauge Smiley confus
quelqu'un peut-il m'aider? Smiley biggrin upload/13300-exemple.jpg
Modifié par calipsye (19 Jul 2007 - 10:47)
Que veux-tu dire par "bloc de taille extensible"? Ou plutôt, quel comportement voudrais-tu que ces blocs adoptent lorsqu'ils englobent un contenu long/court ?
j'aimerais en fait qu'ils puissent s'élargir pour s'adapter en fonction de la résolution du naviguateur.
donc pour finir, ma page prendra 100% de l'écran.
J'ai essayé de fonctionner en pourcentage pour les blocks que je veux flexible et en pixels pour les blocks que je veux fixe, mais ca foire totalement Smiley ohwell
Personne n'a une idée?
Bonjour,

Si tu avais du code a nous proposer cela serai un debut surtout pour ta page html et ton css pour voir un peu comment ils sont mit.
je vous montre le code, mais pour l'instant j'ai tout mis en absolu pour que ca ressemble a quelque chose...
En plus je n'arrive pas a centrer le tout sur la page Smiley ohwell

html :

<div id="1_en_tete">
			
		<div id="logo">
			</div> 
						
			<div id="banniere">
			</div> 
						
			<div id="coin_sup_droit">
			</div> 
			
			<div id="courbe">
			</div>
			
			<div id="ligne">
			</div> 
			
			<div id="bord_milieu_droit">
			</div> 
			
			<div id="lieu_boutons">
			</div> 
			
			<div id="coin_inf_droit">
			</div> 
			
		</div>  <!-- ferme le 1_en_tete-->
		


le CSS:


body
{
background-color: #bfd500;
width: 80%;
margin-right: 10%;
margin-left: 10%;
}


#1_en_tete
{
height: 155px;
margin: auto;
}

#logo
{
width: 160px;
height: 155px;
background-image: url("images/entete/logo.jpg");
background-repeat: no-repeat;
position: absolute;
left: 0px;
top: 0px;
}

#banniere /* block que je veux extensible */
{
width: 578px;
min-width: 570px; /* ne fonctionne pas sur IE*/
height: 72px;
background-image: url("images/entete/fondbanniere.jpg");
position: absolute;
left: 160px;
top: 0px;
padding-top: 5px;
}

#coin_sup_droit
{
width: 32px;
height: 72px;
background-image: url("images/entete/coinsupdr.jpg");
background-repeat: no-repeat;
position: absolute;
left: 738px;
top: 0px;
}

#courbe
{
width: 110px;
height: 83px;
background-image: url("images/entete/courbe.jpg");
background-repeat: no-repeat;
position: absolute;
left: 160px;
top: 72px;
}

#ligne/* block que je veux extensible */
{
width: 344px;
height: 36px;
background-image: url("images/entete/ligne.jpg");
position: absolute;
left: 270px;
top: 72px;
}

#bord_milieu_droit
{
width: 156px;
height: 36px;
background-image: url("images/entete/milieudroit.jpg");
background-repeat: no-repeat;
position: absolute;
left: 614px;
top: 72px;
}

#lieu_boutons /* block que je veux extensible */
{
width: 468px;
height: 47px;
background-color: #6987b0;
position: absolute;
left: 270px;
top: 108px;
}


#coin_inf_droit
{
width: 32px;
height: 47px;
background-image: url("images/entete/coininfdr.jpg");
background-repeat: no-repeat;
position: absolute;
left: 738px;
top: 108px;
} 

Modifié par calipsye (18 Jul 2007 - 09:14)
Il te suffit de jouer sur une association de flottants et de marges latérales sur les blocs "extensibles". Petit exemple:

[#black][b]HTML[/b][/#]

<p id="fixe">Mon bloc fixe</p>
<p id="fluide">Mon bloc extensible</p>


[#black][b]CSS[/b][/#]

#fixe {float:right; width:250px;}
#fluide {margin-right:270px;}

J'ai fais comme tu as dis mais ca ne marche pas, les blocks se dispersent dans ma page! et passe a la ligne Smiley confus

Voici le CSS:


body
{
background-color: #bfd500;
width: 100%;
margin-top: 0px;
margin-right: 0px;
margin-left: 0px;
}

#1_en_tete
{
height: 155px;
margin: auto;
}

#logo
{
width: 160px;
height: 155px;
background-image: url("images/entete/logo.jpg");
background-repeat: no-repeat;
float: left;
left: 0px;
top: 0px;
}

#banniere
{
min-width: 570px;
height: 67px;
background-image: url("images/entete/fondbanniere.jpg");
margin-left: 160px;
margin-top: 0px;
padding-top: 5px; 
}

#coin_sup_droit
{
width: 32px;
height: 72px;
background-image: url("images/entete/coinsupdr.jpg");
background-repeat: no-repeat;
margin-right: 0px;
top: 0px;
}

#courbe
{
width: 110px;
height: 83px;
background-image: url("images/entete/courbe.jpg");
background-repeat: no-repeat;
left: 160px;
top: 72px;
}

#ligne
{
height: 36px;
background-image: url("images/entete/ligne.jpg");
float: left;
left: 270px;
top: 72px;
}

#bord_milieu_droit
{
width: 156px;
height: 36px;
background-image: url("images/entete/milieudroit.jpg");
background-repeat: no-repeat;
margin-right: 0px;
top: 72px;
}

#lieu_boutons
{
height: 47px;
background-color: #6987b0;
float: left;
left: 270px;
top: 108px;
}

#coin_inf_droit
{
width: 32px;
height: 47px;
background-image: url("images/entete/coininfdr.jpg");
background-repeat: no-repeat;
margin-right: 0px;
top: 108px;
}
Voilà j'ai trouvé la solution, il suffit de mettre en position absolu les blocks qu'on veut fixe (gauche et droite) et de mettre en 100% les blocks qu'on veut flexible...

merci quand meme!