28173 sujets

CSS et mise en forme, CSS3

Bonjour à tous et à toutes

Voila, je m'arrache les cheveux depuis quelques jours, pour trouver une solution propre à mon problème.

Aprés plusieurs recherche sur google, et/ou votre forum/site/blog, je n'ai toujours pas trouvé une solution concrète à mon problème.

Voila, je cherche à réaliser une page xhtml, contenant 3 div, un "titre" en haut, un "sommaire" à gauche, et une troisième div "contenu" remplissant le reste de la page.

upload/6009-zones.gif

J'ai trouvé ce petit code, cependant, il n'utilise pas de div "titre", mais une sur la droite, ainsi que sur la gauche... bref, pas du tout ce que je recherche

   
 <html>

    <style>
    body, html{
    margin:0;
    padding:0;
    height:100%;
    }
    #conteneur{
    height:100%
    }
    #gauche{
    left:0;
    position: absolute;
    width:150px;
    height:100%;
    background: cyan;
    }
    #droite{
    margin-left:150px;
    height:100%;
    background:blue;
    }
    .entete1{
    width:150px;
    height:100px;
    background: red;
    }
    .entete2{
    height:100px;
    background: red;
    }
    </style>

    <body>
    <div id="conteneur">

    <div id="gauche">
    <div class="entete1"></div>
    </div>

    <div id ="droite">
    <div class="entete2"></div>
    </div>

    </div>
    </body>
    </html>


Voici pour l'instant, le début du mien :

<!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>
<title>Page XHTML</title>
	<style type="text/css">
		html, body {height: 100%;}
		body {margin: 0px; padding: 0px; height 100%; width: 100%;}
		#corps {height: 100%; height: auto !important; min-height: 100%;}
		#titre {position: absolute; height: 100px; width: 100%; background-color: red;}
		#sommaire {position: absolute; left: 0px;width: 80px; background-color: green;}
	</style>
</head>
<body>
	<div id="corps">
	<div id="titre">Titre
	<div id="sommaire">Sommaire
	</div></div></div>
</body>
</html>


J'ai essayé avec bottom:0; mais la div sommaire disparait. Pourtant si je lui dit d'aller à 0px de bas de la fenêtre du navigateur, je comprend pas pourquoi je ne vois plus rien Smiley decu

J'utilise Mozilla, et pas besoin d'avoir une quelconque compatibilité avec IE, c'est un travail personnel, à but non lucratif Smiley cligne

Encore merci
Modifié par yoshimitsu (08 Apr 2006 - 18:31)
Bonjour et merci de ta réponse

J'ai déja regardé cette page, mais je n'y ai pas trouvé ma réponse. Faut dire que je débute, donc la réponse y ai p-e, mais je l'ai "survolé"

Pour l'instant, le contenu, je m'en moque un peu, ce que j'ai déja fait, c'est le titre qui occupe toute la largeur, maintenant, je voudrais que le sommaire, occupe toute la hateur. L'un m'a pris 5minutes, je sens que l'autre va me prendre 5 jours Smiley smile
Aprés re* x^32 lecture de la faq, je n'y trouve toujours pas ma réponse.

Parce que, dans les exemples donnés, le sommaire, s'adapte automatiquement au contenu, et je ne veux pas Smiley smile

Je veux vraiment créer 3 div, comme sur la photo que j'ai donné ci-dessus, qui s'adapte à la taille de mon navigateur.

De plus, j'arrive pas encore à faire mon sommaire, donc réaliser maintenant le contenu, ne me servirait en rien Smiley smile

Cruel qu'est le monde informatique, surtout quand on ne trouve pas Smiley smile
Modifié par yoshimitsu (08 Apr 2006 - 15:47)
yoshimitsu a écrit :

Voila, je cherche à réaliser une page xhtml, contenant 3 div, un "titre" en haut, un "sommaire" à gauche, et une troisième div "contenu" remplissant le reste de la page.


Ce modèle
ou
celui-ci

ne correspondent-ils pas à ce que tu cherches à faire ?

Autre formulation :

En quoi ne correspondent-ils pas ?
Non, parce que, l'un comme l'autre, ne s'adapte pas, à la hauteur de mon navigateur. Il s'adapte bien en largeur, mais pas en hauteur. Je voudrais utiliser bottom:0px, mais ça ne passe pas. Je suis sur une piste, mais pas concluante, comme toujours Smiley decu

Ne te base pas sur le contenu, voir oublions le. Je veux 2 divs, l'une "titre", en haut, sur TOUTE la largeur de ma page (ça j'ai réussi) et une autre div, "sommaire", sur TOUTE la hauteur de ma page, et la ça coince.

Merci pour toutes tes réponses un week end

Ps: j'actualise toujours la page, d'ou la rapidité de mes réponses, mais j'aime quand les choses marchent, et comme je veux dormir ce soir... Smiley smile
Modifié par yoshimitsu (08 Apr 2006 - 16:04)
Voici une capture d'écran de ce que je veux faire. Car je crois mal m'exprimer Smiley smile

upload/6009-Xhtml.JPG

Mais en agrandissant la fenêtre de mon navigateur (Mozilla), la div "sommaire" ne descend pas jusqu'en bas (normal, la valeur de height est fixe)

upload/6009-Xhtml2.JPG

Voici le code
<!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>
<title>Page XHTML</title>
	<style type="text/css">
		html, body {height: 100%;}
		body {margin: 0px; padding: 0px; height 100%; width: 100%; background-color: white;}
		#corps {height: 100%; height: auto !important; min-height: 100%;}
		#titre {position: absolute; height: 100px; width: 100%; background-color: red;}
		#sommaire {position: absolute; left: 0px; top: 100px; width: 80px; height: 260px; background-color: green;}
		#contenu {position: absolute;}
	</style>
</head>
<body>
	<div id="corps">
	<div id="titre">Titre
	<div id="sommaire">Sommaire
	</div></div></div>
</body>
</html>

Je cherche donc à faire un div "sommaire" qui s'adapte automatiquement à la taille de la fenêtre de mon navigateur.
Modifié par yoshimitsu (08 Apr 2006 - 16:14)
Oui, donc pour qu'il s'adapte à la hauteur de ton navigateur :

Retour à la faq

ou à cet articlesi tu préfères.

Il faut que tu complètes une des mises en page proposées à l'aide des explications fournies dans l'article ...
Ba,

J'ai pas de prologue XML, donc me reste que deux choix, et l'un comme l'autre ne fonctionne pas... De plus mon bloc est positionné. Tout comme html et body ont un height à 100%

Je comprend pas pourquoi alors, ça ne marche pas
Modifié par yoshimitsu (08 Apr 2006 - 16:21)
Si tu fixes la hauteur de ton div sommaire à 260px, comment veux-tu qu'il s'adapte à la hauteur de la page ?
C'était pour mes captures d'écran lol Smiley smile pour te montrer ce que je cherche à faire.

Sinon j'ai testé ce que tu m'as donnés, mais encore une fois, vous vous basez sur un contenu, or moi j'en ai pas, pas pour l'instant Smiley smile Si je me bose sur un contenu, c'est de la triche, ce n'est pas la question qui m'a été posé Smiley smile
Modifié par yoshimitsu (08 Apr 2006 - 16:27)
Le problème vient sûrement de là :


<body>
	<div id="titre">Titre
	<div id="sommaire">Sommaire
	</div></div>
</body>


Ton sommaire est à l'intérieur du titre ...

Correction



<body>
	<div id="titre">Titre</div>
	<div id="sommaire">Sommaire</div>
</body>
Lol...

Je suis un boulet Smiley lol

Bref, je donc terminé mes 3 div/s, toutes s'adaptant aux différents formats de la page.

Voici le lien : Lien 3_div_Css_Xhtml

Ainsi que le code source

<!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>
<title>Page XHTML</title>
	<style type="text/css">
		html, body {height: 100%;}
		body {margin: 0px; padding: 0px; height 100%; width: 100%; background-color: white;}
		#titre {position: absolute; height: 100px; width: 100%; background-color: #000066;}
		#sommaire {position: absolute; top: 100px; width: 80px; bottom: 0px; background-color: #006666;}
		#contenu {position: absolute; top: 100px; left: 80px; bottom: 0px; right:0px ; background-color: #339999;}
	</style>
</head>
<body>
	<div id="titre">Titre</div>
	<div id="sommaire">Sommaire</div>
	<div id="contenu">Contenu</div>
</body>
</html>


En espérant, qu'il reservira à quelqu'un d'autre