28173 sujets

CSS et mise en forme, CSS3

Bonjour,

Et bon noel à tous.

J'ai un div de hauteur fixe qui contient un texte avec en dessous un Div.
Je voudrais que la hauteur de mon Div interne soit variable suivant le texte le précédent.
C'est à dire que qu'elle que soit la longueur de mon texte, le Div interne ne dépasse le bas de mon Div principal.

J'espère avoir été clair
Merci de votre aide

Marco
Bonjour,

pifoux a écrit :
J'espère avoir été clair

Oui et non.

Quel est le code HTML de cette structure?
Que donnent tes essais CSS?
Que contient le div interne?
Dans quelle mesure les quantités de texte peuvent-elles varier?
Etc.
Voila un code pour expliquer mon problème:

<style type="text/css">
#content {
	height:140px;
	border: 1px solid #000000;
	overflow: hidden;
}

#liste {
	height:100px; overflow:auto;  border: 1px solid #FF0000;
}
</style>
<div id="content" >
Texte variable...<br />
blablalbla...<br />
blabla<br>
<div id="liste">
document1.doc<br />
document2.doc<br />
document3.doc<br />
document4.doc<br />
document5.doc<br />
document6.doc<br />
document7.doc<br />
</div>
</div>


J'ai donc div qui contient un texte d'introduction et en dessous un div qui contient une liste de fichiers que je voudrais scrollable.
Le texte et la liste des fichiers sont de longueurs variables.
Mon site a une hauteur fixe (140px dans l'exemple) et pour que l'overflow fonctionne, je n'ai pas trouvé d'autre solutions que d'indiquer une hauteur fixe également pour le second div (100px dans l'exemple).
et donc dans mon exemple, il n'apparait que partiellement.
Je voudrais donc que le div "liste" ne dépasse jamais le div "content"

J'ai fais des essais un peu dans tous les sens...j'ai cherché sur le web..rien trouvé qui me convenait.

La longueur du texte devrait varié entre 1 et 5 lignes
La liste des fichiers entre 1 et 30 lignes.

Merci de vous intéressé à mon problème

Marco
pifoux a écrit :
Mon site a une hauteur fixe

Une erreur courante. Smiley cligne

pifoux a écrit :
pour que l'overflow fonctionne, je n'ai pas trouvé d'autre solutions que d'indiquer une hauteur fixe également pour le second div (100px dans l'exemple).

Si tu veux un overflow: auto pour obtenir une barre de défilement sur div#liste, c'est effectivement la marche à suivre.

pifoux a écrit :
Je voudrais donc que le div "liste" ne dépasse jamais le div "content"

C'est à dire que si le texte de présentation fait plus de 40px de haut, il faudrait que div#liste se réduise en hauteur?
Techniquement, ça risque d'être difficile à faire. Le positionnement CSS ne permet pas une gestion fine des hauteurs respectives des blocs, du type «prendre toute la hauteur jusqu'à telle position».

Pour ma part, je simplifierais grandement le problème... en ne figeant aucune hauteur (les barres de défilement interne, quand on peut éviter, c'est mieux).
Merci pour ta réponse.

Je suis arrivé à la meme conclusion...mais je gardais un petit espoir...

Je n'aime pas non plus les scrolls interne, mais c'était vraiment le plus simple pour moi

Maintenant, je vais essayer de trouver un bout de script qui scroll un div..
J'en ai déjà trouvé un vraiment top, mais payant:
http://www.dyn-web.com/dhtml/scroll/

Merci

Marco