Как отображать hr горизонтально с помощью flex?

Вопрос:При использовании flexbox для стилизации, если родительский контейнер установлен в display: flex, это приведет к тому, что будет отображаться вертикально, а не горизонтально. .container { display: flex; flex: 1; } Test Лучший ответ: Используйте flex-grow: 1 или width: 100%, чтобы он увеличивался в соответствии с шириной родителя. Вероятно,

Вопрос:

При использовании flexbox для стилизации, если родительский контейнер установлен в display: flex, это приведет к тому, что <hr /> будет отображаться вертикально, а не горизонтально.

.container { display: flex; flex: 1; }<div class=’container’> <h2>Test</h2> <hr /> </div>Лучший ответ:

Используйте flex-grow: 1 или width: 100%, чтобы он увеличивался в соответствии с шириной родителя. Вероятно, вы захотите использовать это в сочетании с flex-wrap: wrap на .container, если вы планируете размещать больше гибких детей в .container

.container { display: flex; flex: 1; } hr { flex-grow: 1; /* width: 100%; */ /* or this */ }<div class=’container’> <hr> </div>Ответ №1

Причиной этого является то, что значение по умолчанию align-items равно stretch, поэтому hr получит ту же высоту, что и самый большой элемент в flex-container или в этом случае h2. И значение по умолчанию для justify-content равно flex-start, поэтому ширина hr равна 0.

Легкий способ исправить это – использовать flex-wrap: wrap для родительского элемента и flex: 0 0 100% на hr

.container { display: flex; flex-wrap: wrap; } hr { flex: 0 0 100%; }<div class=’container’> <h2>Test</h2> <hr> </div>

Оцените статью
Добавить комментарий