#html #css #flexbox #flexboxgrid
#HTML #css #flexbox #flexboxgrid
Вопрос:
Я использую max-height
для своего изображения, но оно по-прежнему не помещается в раздел и вылетает.
Я указал фиксированный размер для верхнего уровня div
( 90vh
), и под ним я использую проценты для определенных относительных высот.
Структура выглядит так
<div id="non-responsive-div"> <!-- height:95vh -->
<div id="top-level-container" class="three-row-grid-container"> <!-- max-height:100%; -->
<app-status-bar id="status-bar"></app-status-bar> <!--max-height:100%; -->
<app-nav-component id="menu-nav" ></app-nav-component><!-- grid child --> <!--max-height:100%; -->
<app-content-component id="content"></app-content-component><!-- grid child --> <!--max-height:100%; -->
</div>
<div>
<app-progress-bar></app-progress-bar><!-- not a grid child --> <!--this is positioned using absolute positioning and thus will not affect positions of others -->
<app-dialog-box #dialogBox [dialogMessage]="" [dialogID]="'appDialog'" [dialogContext]=""></app-dialog-box>
</div>
</div>
Это nav component
html
<div id="logo-nav-div" class="logo-nav-style logo-nav-grid-container"> <!-- max-height:100%; -->
<div id="logo-nav-left" class="logo-nav-left-flexbox-container">
<img id="logo-image" src={{logofile}}> <!-- max-height:100%; -->
<button type="button" (click)="onGQClick()" [ngClass]="'unselected-button'">GQ</button>
<button type="button" (click)="onGTClick()" [ngClass]="'unselected-button'">GT</button>
<button type="button" (click)="onPClick()" [ngClass]="'unselected-button'">P</button>
</div>
<div id="logo-nav-right" class="logo-nav-right-flexbox-container">
<button type="button" (click)="onCQClick()" [ngClass]="'unselected-button'">CQ</button>
</div>
</div>
Прилагается ок. Скрипач. Я не могу загрузить изображение, хотя — https://jsfiddle.net/01fj8hpz /
Я подозреваю, что проблема может заключаться в flexbox
том, что если я удаляю изображение flexbox
, изображение, похоже, уменьшается. Но тогда я не могу поместить flexbox
встроенное в img
. Он отображается в отдельной строке.
Комментарии:
1. Возможно, нам нужно посмотреть ваш CSS. Вы говорите об использовании максимальной ширины для изображения, но комментарии в коде говорят о максимальной высоте.
Ответ №1:
Кажется, хитрость заключается в назначении height:100%
для каждого дочернего элемента. Затем настройка max-height:100%
, похоже, вступает в силу. В моем случае я установил height:100%
для logo-nav-div
‘, logo-nav-left
и logo-nav-right
. Это исправило их высоту, а затем max-height
вступило в силу. Без установки height
значения 100% высота, похоже, принимает значение самого большого дочернего элемента.