function = je.blogue( );
le blogue de François R. Caron | http://frcaron.com

Forcer l’apparition de la barre de défilement verticale

6 août, 2008 - CSS et (X)HTML -

Sur les sites qui ont des pages de différentes longueurs, le problème de l’apparition et de la disparition de la barre de défilement verticale se pose souvent, ce qui a pour conséquence un décalage horizontal pouvant être visuellement déplaisant pour l’utilisateur du site.

J’ai créé un exemple pour bien illustrer le problème. Lorsque l’on navigue entre les trois pages (qui sont de différentes hauteurs) on s’aperçoit du décalage horizontal que crée la disparition de la barre de défilement.

La solution est très simple. Pour forcer la barre de défilement à apparaître sur toutes les pages d’un site, il suffit d’ajouter à la feuille de style CSS le sélecteur HTML et de lui attribuer une valeur de 100 % à la hauteur et de un (1) pixel à la marge du bas. La marge, si minime qu’elle soit, est suffisante pour faire « déborder » la hauteur de la page et ainsi faire apparaître la barre de défilement :
html {
height:100%;
margin-bottom:1px;
}

J’attends vos commentaires. À bientôt !

Article complémentaire :

  1. Créer un bas de page qui colle grâce à CSS (2)

5 commentaires

  1. bumpshoveit
    le 1 février, 2009

    Parfaitement fonctionnel, merci bien pour cette asctuce ;-)

  2. Benoit Deziel
    le 18 février, 2009

    Ceci pourrait marché aussi:

    html {
    overflow-y: scroll;
    }

    Je n’ai pas testé dans IE6 par contre…

  3. François
    le 19 février, 2009

    Merci pour ton commentaire Benoît, c’est en effet une façon de faire que je ne connaissais pas.
    Par contre, à moins d’avis contraire, ça ne devrait pas fonctionner avec IE6 (qui ne comprend rien à CSS3).
    À bientôt !

  4. lionel
    le 5 avril, 2009

    hello,

    j’ai crée une page :www-cannella-beaute.fr

    si on va sur produit, j’ai crée une barre de défilement pour présenter les produits dans un tableau.

    le probleme est le suivant :
    si je vais sur un autre onglet de Internet explorer ,que j’attends quelques secondes, et que je reviens sur ma page produits , tout s’est décalé.

    avez-vous une idée ?
    merci

  5. François R. Caron
    le 7 avril, 2009

    @ Lionel : Je crois avoir trouvé le problème qui consistait à quelques erreurs de validation HTML sur votre page « produits ». Je vous ai envoyé par courriel un document contenant mes corrections, vous me laisserez savoir si tout a bien fonctionné.

Laisser un commentaire