установить высоту элемента относительно родительского элемента - где parent является частью flexbox - PullRequest
0 голосов
/ 02 декабря 2018

Хорошо, учитывая следующий html:

<div class="box">
  <div class="row header">
    <p><b>header</b>
      <br />
      <br />(sized to content)</p>
  </div>
  <div class="row content">
    <p>
      <b>content</b>
      (fills remaining space)
    </p>
    <div class="subcontent">
    test
    </div>
  </div>
  <div class="row footer">
    <p><b>footer</b> (fixed height)</p>
  </div>
</div>

, где я хочу установить ширину div subcontent в "50%" от содержимого div.(таким образом, он изгибается также с размером страницы).

Следующий css "должен" сделать это:

html,
body {
  height: 100%;
  margin: 0
}

.box {
  display: flex;
  flex-flow: column;
  height: 100%;
  background-color: grey;
}

.box .row {
  border: 1px dotted black;
}

.box .row.header {
  flex: 0 1 auto;
  /* The above is shorthand for:
  flex-grow: 0,
  flex-shrink: 1,
  flex-basis: auto
  */
}

.box .row.content {
  flex: 1 1 auto;
}

.box .row.footer {
  flex: 0 1 40px;
}

.subcontent {
  background-color: blue;
  height: 50%;
  position: absolute;

}

однако я замечаю, что subcontent теперь масштабируется с областью просмотра, а не сродительское отделениеЭто не то, что я хотел.(На самом деле я хочу, чтобы субконтент составлял ровно 100% от родителя, за вычетом запаса родителя - и того запаса, который я не знаю заранее, он основан на маршруте и, следовательно, основан на динамическом генерировании страниц javascript).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...