28172 sujets

CSS et mise en forme, CSS3

Salut à tous,

après quelque recherche à ce sujet et sans être parvenu à trouver une solution, je viens solliciter votre aide car je souhaiterais que mon div "D" puis automatique remplir l'espace libre qui lui reste jusqu'à la fin du div "A"

Merci d'avance pour vos info!

#A {
	background-color: #FCF;
	height: 100px;
	width: 200px;
}
#B {
	background-color: #0CF;
	height: 30px;
	width: 200px;
}
#C {
	background-color: #0CC;
	height: 30px;
	width: 200px;
}
#D {
	background-color: #CF9;
}
</style>
</head>

<body>
<div id="A">
  <div id="B"></div>
  <div id="C"></div>
  <div id="D"></div>
</div>
</body>
Salut,

Je comprends pas pourquoi tu veux que ce soit automatique. Toutes les hauteurs sont fixes. Un simple calcul te permet de savoir quelle hauteur tu dois fixer à ton dernier DIV.

Si par hasard ton DIV "A" à une hauteur variable, tu toujours utiliser les pourcentages pour que les proportions soient respectées.

Puis pour finir, certains te diront qu'il est déconseillé de fixer des hauteurs sur des DIV. Je suis pas en mesure d'argumenter assez clairement à ce sujet.

En espérant t'avoir aidé.
Non mon div "A" et fixe, mais "C" est variable. Voila pourquoi je voudrais adapter "D" automatiquement.
Modifié par qwertz1 (18 Aug 2011 - 00:00)
Bonjour,

Si D sert uniquement à compléter A; supprimes le et mets le fond dans A.

Il est impossible de dire à D, prend la hauteur de A - (la hauteur de B + la hauteur de C).
Modifié par Laurie-Anne (18 Aug 2011 - 08:43)
Ok merci pour l'info.

je voulais aussi savoir, si je met un "textarea" en fond de "A" est-il possible de lui donner comme dimension automatique l'espace libre de la fin de "A"?
Laurie-Anne a écrit :

Il est impossible de dire à D, prend la hauteur de A - (la hauteur de B + la hauteur de C).


Tu as oublié un "sauf" à ta phrase,

en jquery c'est la propriété height() qui t'intéressera qwertz1
ptitvincent > Non pas de sauf oublié, je parlais de CSS pur. Je ne vois pas vraiment l'intérêt de faire appel à du JS là dedans.


qwertz1 > Comment veux-tu mettre un textarea (élément HTML) en fond d'un élément ???
a écrit :
Comment veux-tu mettre un textarea (élément HTML) en fond d'un élément ??


En fait je voulais dire supprimer mon div "D" et mettre mon textarea dans "A" (mais après les div "B" et "C") et indiquer à mon textarea de prendre l'espace libre restant.

Possible ou pas???
Modifié par qwertz1 (18 Aug 2011 - 12:07)
a écrit :
Non pas de sauf oublié, je parlais de CSS pur.


ah, vu que tu n'avais pas précisé je me suis permis.

a écrit :
l'espace libre restant.


Js or not js ? that is the question.
si tu as des tailles fixes je vois bien, mais si #C a une taille aleatoire, personnellement je ne vois pas comment, je pense que Laurie-Anne va te donner un axe de recherche.
bah la solution tu la connais si ils ont tous une taille fixe. Je vois pas trop ce que tu as besoin de plus en fait Smiley smile
qwertz1 a écrit :
En fait je voulais dire supprimer mon div &quot;D&quot; et mettre mon textarea dans &quot;A&quot; (mais après les div &quot;B&quot; et &quot;C&quot;) et indiquer à mon textarea de prendre l'espace libre restant.

Possible ou pas???

C'est à ça que je répondais.

Pour indiquer au texte area de prendre l'espace restant, par contre, c'est pas sûr. Il faut essayer avec les %.
Modifié par Laurie-Anne (19 Aug 2011 - 10:31)
En fait il y a aura un div caché entre "B" et "C" et donc c'est pour cette raison que je souhaiterais que mon textarea puisse prendre automatiquement l'espace libre.

Sinon, j'ai essayé avec les % mais je n'y suis pas parvenu.

Alors comme faire?