28172 sujets

CSS et mise en forme, CSS3

Bonjour,

j'ai deux images :

http://www.pixenli.com/image1282743259055967800.html

et

http://www.pixenli.com/image1282743295098163900.html

et mon but est de pouvoir "coller ces deux images" mais en jouant sur la hauteur.

Je m'explique, j'aimerais maîtriser la hauteur du cadre arrondi.

voici mon html



<div class="test_haut_280">

</div>

<div class="test_bas_280">

</div>




et mon css




.test_haut_280
{
width:280px;
height:60px;
border:none;
background-image: url('../images/test_haut_280.png');
}


.test_bas_280
{
width:280px;
height:60px;
border:none;
background-image: url('../images/test_bas_280.png');
}



Mon souci c'est que ça me donne un cadre coupé...

C'est-à dire que je ne vois pas le bas...

Que dois-je faire pour jouer sur la hauteur de mon cadre arrondi ?

Merrci d'avance pour aide.
Modifié par samb01 (27 Aug 2010 - 10:14)
Peut-être le plus simple serait de :

- Créer un DIV qu'on va appeler "cadre"
- Appliquer l'image-arrondi de la partie supérieur au border-top
- Appliquer l'image-arrondi de la partie inférieur au border-bottom
- Appliquer l'image coté gauche au border-left (1px en hauteur suffit largement et le faire repeter)
- Appliquer l'image coté droite au border-right (1px en hauteur suffit largement et le faire repeter)

Non ?

Comme cela, le DIV est extensible en hauteur, et si tu veux avoir une hauteur fixe, tu n'as qu'à le préciser dans CSS #div cadre.
Modifié par {F-I} (25 Aug 2010 - 16:15)
Bonjour {F-I},

ton idée m'intéresse mais comment ferais-tu concrètement, car j'aimerais que ce soit extensible sur IE6 aussi.

Si tu as un exemple Smiley smile
Il me semblait que j'avais eu l'affaire à cela et j'ai plus ou moins réussi...

En voulant te montrer mon exemple, je n'ai pas réussi à reproduire... J'ai dû utiliser un autre méthode dont je ne me souviens plus...

Je vais essayer de continuer à chercher dans mes archives l'exemple en question.

En attendant, peut-être avec CSS3 ? voir ici mais je ne pense pas que ça passera pour IE6.

Désolé si je t'ai donné de faux espoir Smiley confus
Salut, voila une solution pour réaliser ce que tu veux :

<!doctype html>
<html>
<head>
<title>Image divisée en deux</title>
<style type="text/css">
div{
	margin : 0px;
	padding : 0px;
}
#global{
	width : 800px;
	margin : 0 auto;
	padding : 0;
}
#haut{
	width : 280px;
	height:60px;
	background : url("./haut.png") no-repeat;
}
#centre{
	width : 266px;
	min-height : 10px;
	border-left : 7px solid rgb(255, 235,202);
	border-right : 7px solid rgb(255, 235,202);
}
#bas{
	width : 280px;
	height : 340px;
	background : url("./bas.png") no-repeat;
}

p{
	
margin : 0px;
padding : 0px;
text-align : center;
}
</style>
</head>
<body>
<div id="global">
<div id="haut">
</div>
<div id="centre">
</div>
<div id="bas">
</div>
</div>
</body>
</html>


J'espère que c'est bien ce que tu souhaitais.
Modifié par elkastor (25 Aug 2010 - 21:52)
Bonjour,

{F-I} a écrit :
En effet, ça rapproche de ce qu'il souhaite faire mais le seul problème qui reste c'est qu'on ne peut pas indiquer les 2 images utilisé pour les border-left et border-right.

Voici l'aperçu avec son code source.


Je ne comprend pas ta remarque, il n'y a pas besoin d'utiliser des images pour les border-right et border-left, en attribuant simplement une couleur et la largeur c'est largement suffisant.
Essaie comme ça et tu verras :


<!doctype html> 
<html> 
<head> 
<title>Image divisée en deux</title> 
<style type="text/css"> 
div{ 
    margin : 0px; 
    padding : 0px; 
} 
#global{ 
    width : 800px; 
    margin : 0 auto; 
    padding : 0; 
} 
#haut{ 
    width : 280px; 
    height:60px; 
    background : url("http://www.pixenli.com/images/1282743259055967800.png") no-repeat; 
} 
#centre{ 
    width : 266px; 
    min-height : 10px; 
    border-left : 7px solid rgb(255, 235,202); 
    border-right : 7px solid rgb(255, 235,202); 
} 
#bas{ 
    width : 280px; 
    height : 340px; 
    background : url("http://www.pixenli.com/images/1282743295098163900.png") no-repeat; 
} 
 
p{ 
     
margin : 0px; 
padding : 0px; 
text-align : center; 
} 
</style> 
</head> 
<body> 
<div id="global"> 
<div id="haut"> 
</div> 
<div id="centre"> 
	Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras suscipit sapien sem, nec laoreet urna. Nullam molestie, lectus quis dignissim aliquam, lacus lacus tincidunt ligula, id iaculis sapien nibh eget quam. Sed commodo, justo eu ultricies faucibus, lorem justo euismod urna, at fringilla orci lectus imperdiet lacus. In arcu nibh, rhoncus a lacinia non, fermentum vel dui. Quisque viverra libero at tortor laoreet quis bibendum mauris varius. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aliquam feugiat justo eu enim fringilla vestibulum. Duis accumsan faucibus ligula a aliquam. Quisque sem neque, placerat eget porta in, fringilla quis risus. Nam pellentesque orci sit amet leo hendrerit blandit. Vestibulum in porta justo. Maecenas sit amet eros ullamcorper nisl tincidunt dapibus. Aenean pellentesque ante quis sem aliquet eu congue est commodo.

Donec in lectus nulla. Cras sit amet diam ac urna vehicula eleifend ut ut lacus. In hac habitasse platea dictumst. Mauris dignissim dapibus consequat. Nam faucibus rutrum tellus in cursus. Vivamus lobortis ullamcorper porttitor. Maecenas aliquam mollis mauris ac dapibus. Duis pulvinar metus ac orci placerat pretium. Nunc porta lorem in massa ullamcorper et ullamcorper dolor vulputate. Vivamus adipiscing convallis lorem. Proin magna enim, blandit in aliquet vitae, porta nec enim.

Quisque nec mauris urna, et volutpat leo. Nullam id ante sapien. Suspendisse porttitor scelerisque nulla at vulputate. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis scelerisque, metus quis tempus malesuada, sapien metus blandit justo, nec vehicula enim tellus ut massa. Nulla facilisi. Aenean at erat sed velit viverra bibendum vel sit amet tortor. Nullam euismod placerat euismod. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Ut iaculis pharetra dui sed sagittis.

Mauris varius tristique neque, ut aliquet mauris tempus nec. Proin vulputate placerat est non lobortis. Sed fermentum tellus et augue accumsan iaculis non vitae ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Integer tempor scelerisque felis, ut malesuada dui accumsan sit amet. Donec dapibus velit ut dui pharetra laoreet. Donec consequat, neque et consequat tempus, lectus urna pharetra eros, in rhoncus mi justo vel eros. Proin bibendum nisi quis est dictum lobortis. Duis rutrum, magna eu mollis varius, dui quam faucibus dolor, non blandit magna ante sed enim. Mauris nec neque id massa tempor elementum non quis libero. Donec interdum, felis in aliquam bibendum, lorem ipsum interdum magna, at lobortis arcu nulla sed metus. Nam elit purus, vestibulum at viverra nec, pellentesque sit amet turpis. Maecenas convallis hendrerit eros nec dapibus. Nullam id tellus sit amet sem luctus viverra sit amet eu lectus. Etiam porttitor semper libero, vel sodales nisl placerat at. Nulla fringilla nisl mi, id ornare lectus. Vivamus tincidunt ultrices luctus.

Nunc faucibus, elit in aliquet blandit, metus enim pretium est, a mattis risus neque eu tortor. Vestibulum volutpat dolor id diam porttitor imperdiet. Nunc non ligula felis. Mauris pharetra commodo porttitor. Praesent facilisis venenatis mauris, ac interdum mauris convallis eget. Donec bibendum felis vel augue faucibus vulputate. Etiam nec est urna. Proin commodo mattis metus a tincidunt. Nunc scelerisque accumsan mi, quis hendrerit nibh bibendum eget. Cras scelerisque malesuada nibh, et commodo odio tincidunt nec. Cras dictum magna purus, posuere dapibus lectus. Suspendisse potenti. Pellentesque vitae tellus quis diam placerat aliquet. Morbi mattis dui eget orci pulvinar sit amet tincidunt ante fermentum. Duis vestibulum tellus id neque tincidunt vehicula. Aenean ornare rutrum convallis. Nam condimentum aliquam euismod. Cras ac elit vitae magna fringilla faucibus sed sagittis urna. Vestibulum egestas ligula quis magna pellentesque imperdiet. Aliquam nunc libero, dapibus eget commodo ac, gravida id nibh. 
</div> 
<div id="bas"> 
</div> 
</div> 
</body> 
</html> 


Je pense que c'est bien ça qui est recherché.
Bonjour elkastor et merci pour ta réponse.

Ca fonctionne très bien, maais on ient de me donner une méthode encore plus simple en utilisant le background-position

html :



<div class="haut_280">

</div>


<div class="bas_280">

</div>



et css



.haut_280
{ 
width : 280px; 
height:60px;
background-image: url('../images/test_haut_280.png');
border:none;
} 

.bas_280
{ 
width : 280px; 
height : 100px; 
background-image: url('../images/test_bas_280.png');
background-position:bottom left; 
border:none;
} 



Merci encore.