101 votes

Premier enfant de pleine largeur dans Flexbox

Comment je peux le mettre en premier l'enfant dans flexbox pleine largeur et de tous les autres enfants ensemble d' flex:1(pour diviser l'espace)?

Comme ceci:

enter image description here

155voto

TheYaXxE Points 2447

Vous pouvez définir l' :first-child d'une largeur de 100%, et le reste de la childs :not(:first-child) de flex: 1. Pour les mettre sur multiplelines, utilisez flex-wrap: wrap sur le conteneur:

.container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  background: #e2eaf4;
  padding: 10px;
}

.child {
  display: inline-block;
  font-family: "Open Sans", Arial;
  font-size: 20px;
  color: #FFF;
  text-align: center;
  background: #3794fe;
  border-radius: 6px;
  padding: 20px;
  margin: 12px;
}

.child:first-child {
  width: 100%;
}

.child:not(:first-child) {
  flex: 1;
}
<div class="container">
  <div class="child">Child</div>
  <div class="child">Child</div>
  <div class="child">Child</div>
</div>

17voto

Vadim Ovchinnikov Points 6879

Ajouter width: 100%; pour votre premier article. Et flex: 1; pour les autres.

.flex {
  display: flex;
  flex-wrap: wrap;
}

.flex-item:not(:first-child) {
  flex: 1;
}

.flex-item:nth-child(1) {
  width: 100%;
}

/* Styles just for demo */
.flex-item {
  background-color: #3794fe;
  margin: 10px;
  color: #fff;
  padding: 20px;
  border-radius: 5px;
}
<div class="flex">
  <div class="flex-item">
    Child
  </div>
  <div class="flex-item">
    Child
  </div>
  <div class="flex-item">
    Child
  </div>
</div>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X