Как сделать детей на 100% ростом своего родителя flexbox без добавления роста на 100% каждому ребенку - PullRequest
0 голосов
/ 30 августа 2018

У меня есть строка с вложенными столбцами на моем веб-сайте с начальной загрузкой 3. У класса .column есть фон. Я хочу, чтобы цвет фона заполнял всю высоту без изменения HTML.

Если я добавлю height: 100%; к вложенной строке, загрузочному столбцу col и к их классу столбца, я получу желаемый результат, но возможно ли написать это проще?

Вот мой код

https://codepen.io/Insane415/pen/rZWYOE

<div class="container">
   <div class="row sub-heading">
      <div class="col-xs-12 col-sm-12 col-md-6">
         <div class="column">
            Lorem Ipsum Lorem Ipsum <br>Break
         </div>
      </div>
      <div class="col-xs-12 col-sm-12 col-md-6">
         <div class="row sub-heading full-height">
            <div class="col-xs-4 full-height">
               <div class="column full-height"></div>
            </div>
            <div class="col-xs-4">
               <div class="column"></div>
            </div>
            <div class="col-xs-4">
               <div class="column"></div>
            </div>
         </div>
      </div>
   </div>
</div>

.sub-heading {
  display: flex;
}

.column {
  background: #fce6cc;
  position: relative;
  margin: 0 -13px;
  min-height: 30px;
  padding: 0 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.full-height {
  height: 100%;
}

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Без изменения HTML:

.sub-heading {
  height: 100%;
}

.sub-heading > div {
  background: pink;
}

.column {
  position: relative;
  margin: 0 -13px;
  min-height: 30px;
  padding: 0 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .sub-heading {
    display: flex;
  }
  
  .sub-heading > div {
    border-left: 5px solid #fff;
    border-right: 15px solid #fff;
  }
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container">
   <div class="row sub-heading">
      <div class="col-xs-12 col-sm-12 col-md-6">
         <div class="column">
            Lorem Ipsum Lorem Ipsum <br>Break
         </div>
      </div>
      
     <div class="col-xs-12 col-sm-12 col-md-6">
         <div class="row sub-heading full-height">
            <div class="col-xs-4 full-height">
               <div class="column full-height"></div>
            </div>
            <div class="col-xs-4">
               <div class="column"></div>
            </div>
            <div class="col-xs-4">
               <div class="column"></div>
            </div>
         </div>
      </div>
   </div>
</div>
0 голосов
/ 30 августа 2018

согласно моему пониманию, я поделился фрагментом кода, надеюсь, это поможет вам

  .sub-heading {
                display: flex;
                    position: relative;
                    min-height: 100%;
                    border: 1px solid #eee;
              }
              
              .column {
                background: #fce6cc;
                position: relative;
                border:1px solid #333;
                margin: 0 -13px;
                min-height: 30px;
                padding: 0 15px;
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-align: center;
                -ms-flex-align: center;
                align-items: center;
                -ms-flex-wrap: wrap;
                flex-wrap: wrap;
              }
              
              .sub-heading .column{
                min-height: 100%;
              }
<div class="container">
<div class="row sub-heading">
        <div class="col-xs-12 col-sm-12 col-md-6">
          <div class="column">
            Lorem Ipsum Lorem Ipsum <br>Break
          </div>
        </div>
        <div class="col-xs-12 col-sm-12 col-md-6">
          <div class="row sub-heading">
            <div class="col-xs-4">
              <div class="column"></div>
            </div>
            <div class="col-xs-4">
              <div class="column"></div>
            </div>
            <div class="col-xs-4">
              <div class="column"> </div>
            </div>
          </div>
        </div>
      </div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...