28172 sujets

CSS et mise en forme, CSS3

Bonjour,

Je tourne en rond sans trouver la solution... Comment peut-on adapter la hauteur de d'apparition des barre de défilement par rapport a un autre contenu ? Je m'explique, si j'ai ce genre d'organisation de bloc div :

<div class="contenu">
   <div class="texte">
    mon texte remplit le bloc dont la hauteur 
du div.texte s'adapte automatiquement
   </div>
   <div class="ascenseur">
   mon texte remplit le bloc et un ascenseur apparait si sa hauteur 
additionné au div.texte dépasse la limite imposée par div.contenu 
   </div>
</div>

la hauteur du div.contenu est fixée au préalable et on espère que la hauteur du div.texte ne soit jamais supérieure à div.contenu...

merci pour vos conseils !

frk
Modifié par frk (16 Jul 2010 - 12:11)
bonjour...

je dirai avec max-height ?? tout simplement...

donc ton div class ascenceur doit avoir un max height à toi de le calculer pour être tranquille Smiley cligne
Merci pour ta réponse mais c'est ce que je fais pour l'instant et ça ne me satisfait pas car si j'ai un max-height sur mon div.ascenseur, l'apparition de l'ascenseur est lié à la hauteur de cette div alors que je veux que l'ascenseur n'apparaisse que si la hauteur de div.texte + div.ascenseur >= hauteur fixée de div.contenu.

En fait mon div.contenu ne doit jamais outrepasser la hauteur fixée
et il n'y a jamais d'ascenseur dans div.texte.
C'est la hauteur du div.ascenseur qui joue le rôle de tampon.

J'espère que c'est un peu plus clair Smiley confus ...
bonsoir

la il te faut un bout de javascript pour faire ça je suis pas très bon mais tu fera une fonction qui aura la hauteur de ton conteneur, qui récupère la hauteur de ton div.texte que tu changera en

<div id="texte"> 
</div>
<div id="ascenseur">
</div>


pour pouvoir écrire ça


var mondiv = document.getElementById('texte');
var la_hauteur= mondiv.clientHeight;


après tu n'aura qu'a faire le calcul et

div_ascenseur = document.getElementById('ascenseur');
div_ascenseur.style.height=le_reste_de_ta_soustraction ;



j'espère que ça pourra t'aider ... Smiley cligne
Bonjour et bienvenue parmi nous Smiley smile

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que le lien "Aide" qui apparaît tout en haut du forum est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Il serait courtois de ta part de bien vouloir en prendre connaissance.

Pour ce qui est de ton problème, la question serait plutôt : pourquoi vouloir imposer la taille de "contenu" l'avantage du web, c'est son extensibilité, contrairement au support papier, il faut en profiter.

D'un point de vue pratique, il n'est pas possible en CSS de donner une hauteur x-y, c'est faisable en JavaScript (mais, vu ce que tu souhaites faire, ça va être le bazar si l'utilisateur veux augmenter la taille du texte).

Bonne continuation Smiley smile

upload/1-code.gif
Oops, très bien je ne le ferai plus. Smiley confus
En attendant je ne trouve pas le lien "Editer" malgré la lecture du #5 de l'aide... je suis peut-être pas réveillé ?!

Merci pour vos réponses à mon sujet. Je vais regarder coté JS.
Bonjour,

Alors sans voir exactement ce qu'il en est c'est pas évident, mais niveau ergonomie un scroll à l'intérieur du site avec je suppose une hauteur fixe, si ce n'est pas bien maitrisé, ça sent pas très bon.
humm,

L'idée est d'avoir une mise en page qui reste 100% affichable, pied de page compris, dans une résolution faible. La partie fixe comprend l'essentiel du contenu et la partie scrollable est une partie secondaire sur laquelle on pourrait voir apparaitre l'ascenseur en cas de besoin.

Qu'entends tu par "ça sent pas très bon" ?, en terme d'ergonomie ?...
Dans le cas d'agrandissement des caractères par exemple figer un site en hauteur donne bien souvent des résultats pas terribles pour pas dire catastrophique.

L'accès au clavier du scroll inclus dans le site alors qu'un scroll naturel est accessible directement.

La désactivation de javascript si une bidouille est faites de ce côté là il faudra tester voir ce que cela peux donner.

Maintenant vouloir absolument un site qui rentre absolument en entier dans toutes les résolutions (je suppose que tu fais référence à du 800*600 ?) c'est se mettre d'office des contraintes pour au final un résultat qui risque d'être catastrophique si tous les effets de bord ne sont pas maitrisés.


EDIT : Arf j'avais pas lu en entier le post de Laurie-Anne, je crois que l'on est sur la même longueur d'onde Smiley cligne
Modifié par knarf (16 Jul 2010 - 19:41)