IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

Afficher une div de hauteur (100% - 50px) [CSS 2.1]


Sujet :

Dimensionnement en CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Par défaut Afficher une div de hauteur (100% - 50px)
    Bonjour à tous,

    Je voudrais savoir comment je dois m'y prendre si je veux afficher une div qui formerait un bandeau en hauteur. Ce bandeau commencerait à 50px du bas et finirait en haut de ma page (En gros 100% - 50px).
    Il faudrait bien sur une solution compatible tous navigateurs si possible.

    Merci

  2. #2
    Membre Expert
    Avatar de rodolphebrd
    Homme Profil pro
    Indépendant
    Inscrit en
    Novembre 2012
    Messages
    2 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Indépendant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 336
    Par défaut
    Bonjour,

    Box-sizing le permet :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <!doctype html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Document sans nom</title>
    <style>
    html,body {
        margin:0;
        padding:0;
        height:100%;
    }
    .conteneur {
        height:100%;
        background-color: #f00;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding-bottom:50px;
    }
    .content {
        background-color: #fff;
        width:100%;
        height:100%;
    }
    </style>
    </head>
     
    <body>
    <div class="conteneur">
        <div class="content">
        </div>
    </div>
    </body>
    </html>

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ou sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    height: calc(100% - 50px);
    Il faudrait bien sur une solution compatible tous navigateurs
    Ca va être difficile : certains navigateurs anciens (IE3- ou Netscape4- par exemple) ne prennent pas en compte les feuilles de style !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre Expert
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Par défaut
    Hello,

    La méthode la plus rétrocompatible (IE7+) est probablement à l'aide d'un positionnement absolu:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    html,body {
      height:100%;
      margin:0;padding:0;
    }
     
    div {
      position:absolute;
      top:0;
      bottom:50px;
    }
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et :resolu: si c'est le cas

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 10
    Par défaut
    Bonjour,

    pour une compatibilité avec IE8 tu peux faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    height: expression((document.documentElement.clientHeight-50) + "px");
    Normalement documentElement te renvois sur l'élément racine de l'élément sur lequel tu applique ton css, tu récupère la hauteur en entier à laquelle tu retire 50.
    Par contre c'est pas très propre comme méthode et ça joue sur les perfs.

    EDIT: dans ton cas tu peux faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    height: expression((document.body.clientHeight-50) + "px");

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher une div centrée en hauteur sur une page scrollée
    Par nero76 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/07/2009, 09h21
  2. Afficher une div en ayant cliqué sur un lien externe
    Par kabool dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/03/2009, 12h13
  3. Afficher une div à une position précise
    Par codefalse dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/01/2009, 23h50
  4. Afficher une div sans perturber le flux
    Par webrider dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 19/03/2008, 09h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo