|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : janvier 2005 Messages : 157 ![]() |
Bonjour à tous.
Dans une page web, je veux mettre en place, de préférence en CSS2, une mise en page qui ressemble à ceci : ![]() - en haut : un bandeau, fixe, dont la hauteur est connue en absolu (n pixels), - sous le bandeau : un corps de page qui, s'il dépasse de la fenêtre du navigateur, se voit doter d'une barre de défilement verticale - cette barre de défilement n'apparaît qu'à droite du corps de la page, pas à droite du bandeau Dans sa nouvelle interface, la messagerie Gmail de Google ressemble à cela. Mon problème réside dans le fait de donner une taille (height) à #content afin que, à l'aide de la propriété overflow:auto, la barre de défilement apparaisse quand cette taille est dépassée. La valeur de height (ou max-height) doit être égale à 100% moins les n pixels de #header. Sans Javascript, je n'arrive pas à faire quelque chose de propre. Auriez-vous une solution ? Merci. |
|
|
00
|
|
|
#2 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 808 ![]() |
Citation:
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : janvier 2005 Messages : 157 ![]() |
Si, je sais bien que c'est bourré de Javascript.
Je parlais seulement du rendu. J'ai un cahier des charges qui me contraint fortement à m'orienter vers le moins de Javascript possible, voire pas du tout. Si quelqu'un a une solution en CSS, je suis preneur. Merci. |
|
|
00
|
|
|
#4 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 808 ![]() |
A ma connaissance, la détection de la hauteur de l'espace d'affichage ne peut pas se faire en CSS.
Tu n'auras donc pas le choix au niveau de l'utilisation de JavaScript. Citation:
Très sincèrement, ce genre de contrainte me semble aberrante aujourd'hui (et encore plus lorsqu'en plus, on demande des fonctionnalités reposant sur l'utilisation de JavaScript ) et est à mon sens plus suscité par une réminiscence de "certitudes" irrationnelles liée au Web des années 90 qu'à une réflexion sérieuse.Bien entendu, cela ne veut pas dire qu'il ne faut pas prévoir des fallbacks en cas de désactivation de JavaScript pour une raison ou une autre
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
00
|
|
|
#5 | ||||||||
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
Bonjour,
Citation:
Base du HTML Code html :
Code :
Code html :
Citation:
je partage tout à fait cet avis...edit trouvé dans la galerie CSS http://css.developpez.com/tutoriels/...ers/exemple_1/
|
||||||||
|
|
10
|
|
|
#6 |
|
Membre régulier
![]() Inscription : janvier 2005 Messages : 157 ![]() |
Merci à vous deux pour vos réponses.
Je suis également d'accord avec la remarque de Bovino sur l'allergie aux scripts dans les pages web. Merci beaucoup NoSmoking pour ta solution. Je me rends compte finalement que ce n'était pas si complexe... et ça m'agace.^^ D'autant plus que j'avais fini par le faire en Javascript. Mais puisqu'une solution élégante existe en CSS, allons-y. J'ai renommé le sujet en "Layout avec header et contenu full-height". N'hésitez pas à suggérer un meilleur titre. |
|
|
00
|
|
|
#7 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 808 ![]() |
@NoSmoking : pas mal comme solution
![]() @kéraunos : moi aussi je suis agacé !
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#8 |
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
- Avec un overflow:hidden; dans le CSS du body, il n'y a pas de scroll horizontal si l'on réduit la fenêtre, il est donc préférable de mettre overflow-y:hidden;.
- Si l'on fixe une width à la page le rendu des scrollbars peut surprendre, on est obligé de scroller horizontalement pour faire apparaître la scrollbar verticale. - Si l'on insère un menu déroulant dans le header, il faut supprimer du CSS de celui ci overflow:hidden; et mettre le menu dans une DIV en position:absolute et il faudra faire preuve d'astuce encore une fois. - Il est à noter que les liens du type, <a href="#" title="Haut de page">Top</a>, sont inefficaces, et qu'il est préférable d'utiliser <a href="#contenu" title="Haut de page">Top</a>, pour remonter en haut de page. - Cette technique diminue la fenêtre active de la hauteur du header ce qui peut être préjudiciable à une bonne lisibilité. et j'en oublie sûrement... Ce que je viens de voir c'est que sur ce coup Gmail "réinvente" l'utilisation des IFRAMEs |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com