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 :

Calcul d'une hauteur en css, est-ce possible ?


Sujet :

Dimensionnement en CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Stephane_br
    Inscrit en
    Septembre 2005
    Messages
    222
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 222
    Par défaut Calcul d'une hauteur en css, est-ce possible ?
    Bonjour,

    Est-il possible de calculer une hauteur dans une feuille de style ?
    Je m'explique :

    J'ai un body qui fait en hauteur : height:100%.
    J'ai un bloc <div id='MAIN'></div> qui n'a pas de hauteur définie car sa hauteur change selon son contenu. Oui, en fait ce bloc est dans une masterpage et son contenu est donc rempli différemment dans chacune des pages du site.

    Enfin, c'est là mon problème, en dessous de ce bloc, j'ai un autre bloc <div id='BAS'></div> qui contient un contenu fixe qui ne bougera pas. Et j'aimerais le coler juste en dessous du premier bloc et l'étirer jusqu'en bas de la fenêtre du navigateur, quelque soit sa taille ou le support utilisé (PC, tablette, Smartphone)....

    En gros, est-il possible de faire un truc du genre :
    BAS.heigth = BODY.height - MAIN.height;
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <body>
     <div id=MAIN>Hauteur dynamique et différente selon les pages du site</div>
     <div id=BAS>Contenu fixe. Ce bloc doit s'étirer jusq'en bas de ma fenêtre si possible</div>
    </body>

    Sachant que mon body possède une image en wallpaper, mon bloc MAIN doit être transparent pour laisser apparaître l'image en font et fait 100% en largeur. Enfin, mon bloc BAS lui a un fond de couleur unie et verte et fait également 100% en largeur.
    Dans mon bloc MAIN, il va y avoir aléatoirement des blocs de hauteur définie ou pas. Je sais pas trop si je suis clair ???


    Je sais que cela doit être réalisable avec des tableaux mais j'aimerais ne pas utiliser de tableau autant que possible. Je voudrais savoir si cela est faisable en CSS directement ??

    Merci pour votre aide.

  2. #2
    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
    Non, ce n'est pas possible si tu ne connais pas au moins une des dimensions.

    Sinon, CSS 3 permet d'effectuer des calculs du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .elem{
        height: calc(100% - 50px);
    }
    Ne pas oublier de prévoir les préfixes navigateur.
    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

  3. #3
    Membre éclairé Avatar de Stephane_br
    Inscrit en
    Septembre 2005
    Messages
    222
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 222
    Par défaut
    Bonjour et merci pour votre réponse.
    Bon bé je vais devoir me tourner vers une autre solution pour faire cela.
    Merci.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Bovino Voir le message
    CSS 3 permet d'effectuer des calculs du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .elem{
        height: calc(100% - 50px);
    }
    Ne pas oublier de prévoir les préfixes navigateur.
    Merci Bovino, j'ai encore appris une chose grace à toi.
    Question : que veux-tu dire par "prévoir les préfixes navigateur" (comment ?) ?

  5. #5
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    .elem{
        height: -moz-calc(100% - 50px);
        height: -webkit-calc(100% - 50px);
        height: -o-calc(100% - 50px);
        height: -ms-calc(100% - 50px);
        height: calc(100% - 50px);
    }
    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

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

Discussions similaires

  1. TMSFMXGrid : Calcul d'une hauteur d'entête à 270°
    Par Invité dans le forum Composants FMX
    Réponses: 3
    Dernier message: 08/06/2015, 14h28
  2. [CSS] modifier une classe à la volée, est-ce possible ?
    Par guidav dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/01/2007, 15h18
  3. Faire passer une variable à un CSS, est-ce possible?
    Par miltonis dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 04/10/2006, 16h05
  4. Imposer la largeur d'une zone de liste ? est ce possible
    Par ahage4x4 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 23/05/2005, 16h21
  5. une interpolation de forme est elle possible
    Par tetsuo chima dans le forum Flash
    Réponses: 3
    Dernier message: 07/10/2003, 16h31

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