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 :

Récupérer la hauteur du parent


Sujet :

Dimensionnement en CSS

  1. #1
    Membre régulier Avatar de Lost In Translation
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 166
    Points : 89
    Points
    89
    Par défaut Récupérer la hauteur du parent
    Bonjour,

    J'ai actuellement un léger soucis.
    J'ai deux divs contenus dans un troisième.

    La hauteur de ces div change en fonction de leur contenu.
    Deux divs sont côte à côte grâce au positionnement par l'attribut "float".

    Le soucis, c'est que ma barre de navigation verticale "gauche" ne fait la taille que de son contenu et j'aimerais qu'elle ait la taille soit de la colonne à son côté, soit du div conteneur (le parent).

    Est-il possible de le spécifier par le CSS ou dois-je utiliser du javascript pour ceci ?

    Voici la partie du code :

    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
     
          <div id="main">
     
            <div id="sidenav">
              {$page_sidenav}
            </div>
     
            <div id="content">
              {$page_contenu}
            </div>
     
            <div class="clearer"></div>
     
          </div>

    Et voici le CSS.
    Code css : 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
     
    /* centre */
    #main
    {
      border-top: 4px solid #FFF;
      background: url(images/bgmain.gif) repeat-y;
      width:760px;
    }
     
    /* menu gauche */
    #sidenav
    {
      float: left;
      width: 210px;
      min-height:200px;
      background:red;
      margin-top:10px;
    }
     
    /* contenu */
    #content
    {
      float: right;
      width: 530px;
    }
     
    .clearer
    {
      clear: both;
    }

    Je ne spécifie aucun width, vu que la taille du contenu est complètement variable.
    Le tout serait que height#sidenav = height#content

    J'aimerais savoir si une solution CSS existe, sinon j'utiliserais du javascript.

    J'ai tenté un height:inherit; mais ça n'a rien changé. Je suppose que pour cela il aurait fallut spécifier une hauteur fixe dans mon #main.

    Merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2009
    Messages : 33
    Points : 39
    Points
    39
    Par défaut
    A moins d'avoir un conteneur qui englobe les deux div qui elle meme héritent de sa hauteur je vois pas comment tu peux faire en CSS.

  3. #3
    Membre régulier Avatar de Lost In Translation
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 166
    Points : 89
    Points
    89
    Par défaut
    Je l'ai réalisé en javascript assez facilement avec mootools...

    Mais je me disais que peut être qu'avec les héritages c'était jouable. Le problème étant que comme les hauteurs sont variables et donc non reseignées... ça doit peut être pas être faisable...

    Du coup, j'ai fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var sizeContent = $('content').getSize();
            var sizeSidenav = $('sidenav').getSize();
            var sizeMotif = sizeContent.y - sizeSidenav.y;
            $('motif').setStyle('height', sizeMotif);
    1, je récupère la taille de la colonne d'à côté à hauteur variable
    2, je récupère la hauteur de ma sidenav une hauteur de 200px environ (à 10% prêt, variable aussi)
    3, Je calcul l'écart et je l'affecte à ma colonne complètement vide pour la remplir d'un motif...

    Ca marche très bien comme ça. Si la solution tombe en CSS, j'suis intéressé. ^^

  4. #4
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonsoir

    Pour le faire en CSS fais une petite rechercher avec les termes 'colonnes factices'...

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/02/2008, 09h00
  2. récupérer la hauteur de la zone d'affichage
    Par superpigeon dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/11/2007, 16h45
  3. Réponses: 7
    Dernier message: 08/10/2007, 17h23
  4. Réponses: 11
    Dernier message: 25/02/2007, 01h56
  5. Réponses: 2
    Dernier message: 24/01/2007, 19h55

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