Partage
  • Partager sur Facebook
  • Partager sur Twitter

[CSS] height 100% bloc parent et alignement vertical

Sujet résolu
    12 novembre 2011 à 17:32:43

    Bonjour,
    j'ai un problème en css que je n'arrive pas à résoudre, j'ai le code suivant:
    <div id="content">
        <span id="large">
            <!-- fluid content -->
        </span>    
        <span id="short">	
    	<a href="#"> <!-- fixed content --> </a>
        </span>
        <div style="clear: both;"></div>
    </div>
    

    Le bloc #large est rempli par du contenu aléatoire pouvant donc avoir une hauteur variable et le bloc #short est juste un lien qui est toujours le même.
    Le bloc #large est en float:left et le bloc #short en float:right.
    Je voudrais que le bloc #short fasse toute la hauteur du bloc parent (#content) et que le lien qu'il contient soit centré verticalement. Le conteneur est donc de taille variable car il s'adapte à la hauteur du bloc #large.
    Je peux transformer les <span> en <div> si une solution plus simple existe pour ce cas de figure.
    S'il n'y a pas de solution pour que le bloc #short fasse toute la hauteur du bloc parent alors comment le centrer verticalement dans celui-ci (ce qui reviendrait au même résultat).

    Merci!
    • Partager sur Facebook
    • Partager sur Twitter
      12 novembre 2011 à 21:14:18

      Salut !

      En somme, tu est face au problème des colonnes de même hauteur…
      C'est très dur, mais je pense qu'en 2011 il est possible d'utiliser la méthode des faux tableaux CSS. (Oui, changer le <span> en <div> peut être utile)

      Les tableaux permettent de centrer verticalement le texte. Il suffit de faire en sorte que nos blocs soient des tableaux :

      #content {
      	display: table;
      	}
      #large {
      	display: table-cell;
      	}
      #short {
      	display: table-cell;
      	width: 200px; /* à changer comme tu le veux */
      	vertical-align: middle;
      	}
      


      Un exemple là : http://lehollandaisvolant.net/tuto/css/exemple12.html
      • Partager sur Facebook
      • Partager sur Twitter
        13 novembre 2011 à 17:08:04

        Merci pour ta réponse (j'en attendais plus). Du coup j'ai fini par carrément faire un tableau même si c'est pas vraiment recommandé pour la mise en page. J'avais vu ta solution en cherchant sur le web, l'avais testé mais ça ne marchait pas; en ressayant ça donne bien l'effet désiré. Je ne sais pas si je vais revenir à ma structure html de base pour autant mais en tout cas merci :)
        • Partager sur Facebook
        • Partager sur Twitter
          14 novembre 2011 à 9:57:44

          Ok !

          En général, un code simple suffit :-)
          • Partager sur Facebook
          • Partager sur Twitter

          [CSS] height 100% bloc parent et alignement vertical

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown