В следующем html я хочу, чтобы div txt-box
был центрирован в контейнере, перекрывал изображение и расширялся, чтобы заполнить контейнер. У него должно быть поле одинаковой ширины со всех сторон, чтобы часть изображения отображалась как толстая граница.
Показанный html подходит для того, что я хочу, за исключением того, что вертикальные и горизонтальные поля всегда немного изменяется при изменении размера окна браузера.
Мне кажется, что у меня есть взлом и что я использую flex-grow
неправильно. Я понимаю, что flex-grow
позволяет расширять txt-box
div, поскольку это единственный элемент с увеличивающимся значением. Если я смогу решить эту проблему, я смогу просто установить маржу на txt-box
, и это должно сработать.
Что я не понимаю по поводу flex-grow
?
.container {
display: flex;
align-items: center;
justify-content: center;
border: solid 2px red;
position: relative;
}
.container img {
width: 100%;
flex-grow: 0;
flex-shrink: 0;
}
.txt-box {
background-color: white;
display: flex;
padding: 5px;
border: solid 2px blue;
flex-grow: 1;
position: absolute;
width: 90%;
height: 80%;
}
<div class="container">
<img src="blocks.png" />
<div class="txt-box">
hello world
</div>
</div>