[HTML / CSS] Hauteur d'un div..

Résolu
Bonjour,

Malgrès mes années d'expérience, il y a toujours eu un point où je n'ai jamais réussi ;D

C'est faire un div, de sa hauteur maximum..

Je m'explique, j'ai une page, toute simple, en haut je met un premier Div, avec par example, height: 20px
Et juste après, une deuxième div, et lui, je voudrais, en gros qu'il fasse toute la hauteur qu'il reste. Si on met 100%, il débordera de la page de 20px..

En gros je cherche une sorte de height: 100% - 20px; qui n'existe pas biensur..

J'ai toujours fais par javascript et donc j'aimerais savoir si il y avait un autre moyen =)

Ps: Pas de tableaux
--
On dit que les oiseaux sont libres dans le ciel,
Mais la vraie liberté n'est pas celle d'avoir un endroit
où se poser ?

9 réponses

  1. Contributeur
    <div id="banniere"></div>
    <div id="main"></div>

    avec en CSS:

    #banniere {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 20px;
    }

    #main {
    position: absolute;
    top: 20px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    }

    marche sous firefox et autres navigateurs respectueux un minimum des normes W3C
    marche pas sous IE6 et inférieur car le positionnement absolute n'utilise pas le même élément parent comme référence de positionnement. Astuce pour contrer cela, mettre les deux div dans un <div> position: relative, il parait que cela marche, j'ai jamais vraiment tester moi même
    1. --- Comme un modérateur a fait le ménage je reposte le lien ---

      Lien pour corriger sous IE6:
      http://merri.net/bugs/ie_bottom_right.html
  2. Contributeur
    Salut,

    tu peux pallier en créant un div container qui lui contient tous tes autres div. sur le div container tu lui mets la hauteur que tu veux

    <div id="container" height 800px>
    <div id="header" height 20px> ton contenu</div>
    <div id="contenu" height 760px>ton contenu</div> ///donc  800 - 20 - 20
    <div id="footer" height 20px>ton contenu</div>
    </div>
    


    tu peux aussi mettre ta hauteur du div contenu a "auto"
    1. Oui mais non, Sa serait trop simple comme sa XD

      C'est pour m'adapter à la taille de l'écran, donc je ne connais pas la hauteur de base.

      Et height: auto n'a jamais marché si je ne m'abuse

      On dit que les oiseaux sont libres dans le ciel,
      Mais la vraie liberté n'est pas celle d'avoir un endroit
      où se poser ?
      1. Contributeur
        height fonctionne très bien je m'en sert très souvent :)

        <div id="container" height 100%>
        <div id="header" height 20%> ton contenu</div>
        <div id="contenu" height 60%>ton contenu</div>
        <div id="footer" height 20%>ton contenu</div>
        </div>
        


        P-e ça alors lol
        1. Jamais chez moi, et ton code ne m'interesse absolument pas >.> J'ai précisé une taille précise en Pixel pas en %

          width:100%-10px;

          Cela n'a jamais existé, n'est absolument pas standard et n'a jamais marché avec moi
          1. Contributeur
            ohh désolé de vouloir aider

            alors vas-y avec :

            height:100%-20px;
            
            


            Bonne journée !
            1. Ce n'est pas moi le problème, ta propriété n'existe absolument pas.

              http://tillersama.hd.free.fr/CCM/test.htm
              Et si tu penses que c'est de ma faute que sa ne marche pas:
              1/ Mate le code source
              2/ http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Ftillersama.hd.free.fr%2FCCM%2Ftest.htm&profile=css21&usermedium=all&warning=1&lang=fr
              1. Je te dirais que t'y connais rien =)

                Car, merci Vignemail, sa marche parfaitement ;)
                Et c'est completement valide.
                1. Essaye de ne pas utiliser les pour cent mais uniquement les pixels..... et de simuler le 100% puisque tu peu connaitre ou forcer la résolution.
                  Je n'ai pas bien répondu mais je travail et n'ai pas de temps pour la recherche.