Maison  >  Questions et réponses  >  le corps du texte

Assurez-vous que le conteneur de la cellule du tableau remplit toute la hauteur du parent

J'ai essayé d'aligner verticalement le contenu sans utiliser Flexbox, car il y avait quelques problèmes avec notre cas d'utilisation, j'ai donc essayé d'y parvenir en utilisant un tableau aligné verticalement, mais le problème est que le contenu à l'intérieur ne remplit pas la hauteur restante, c'est est-il possible de le faire via CSS. Une manière de faire cela ?

https://jsfiddle.net/s38haqm5/25/

<html>

  <body>
    <div class="row">
      <div class="cell">
        <div class="container">
          Hello world
        </div>
      </div>
      <div class="cella">
        Cell2
      </div>
    </div>

  </body>

</html>


.container {
  background-color: red;
  height: 100%; 
}

.cell {
  display: table-cell;
  vertical-align: middle;
  border: 1px solid black;
  min-width: 100px;
  max-width: 100px;
  min-height: auto;
  max-height: none;
}

.cella {
  display: table-cell;
  vertical-align: middle;
  border: 1px solid black;
  min-width: 100px;
  max-width: 100px;
  height: 30px;
  max-height: none;
}

.row {
  display: table
}

P粉345302753P粉345302753220 Il y a quelques jours487

répondre à tous(1)je répondrai

  • P粉183077097

    P粉1830770972024-04-05 10:41:43

    Vous devez définir la hauteur du parent. Désormais, votre .cell 没有设置任何高度,因此 .container n'a plus aucune valeur pour calculer 100 %. Allez simplement à la même hauteur que .cell 添加一些高度,例如 .cell {height: 30px;} (就像您在 .cella. )

    Puisque .cella.cell est le même, je suppose que vous voudrez peut-être ce petit conseil. Si vous souhaitez que les cellules soient identiques mais que l'une d'entre elles doit être stylée différemment, ajoutez la même classe sur toutes les cellules, puis ajoutez l'identifiant à la cellule qui doit être différente, puis stylisez l'identifiant comme vous le souhaitez. N'oubliez pas qu'une cellule avec classe et identifiant aura une valeur CSS composée de classe et d'identifiant combinés

    répondre
    0
  • Annulerrépondre