дисплей: flex не работает в Chrome
Я использую следующий код, чтобы иметь две коробки бок о бок одинаковой высоты:
<style>
.row {display:flex;}
.col {flex:1;}
</style>
<div class="row">
<div class="col content">some content</div>
<div class="col content raw">some other content</div>
</div>
это отлично работало в Firefox, но я работаю над мобильной версией своего сайта и добавил box-sizing:border-box;
в моем коде. По какой-то причине это испортило flex, поэтому я закончил настройку box-sizing
to content-box
на большинстве элементов снова и это исправил. Тем не менее, я только что понял, что код не работает на Chrome, будь то рабочий стол или мобильный, будь то мой box-sizing
строк или нет, и я не могу понять, что не работает. Тот факт, что я работаю на мобильном сайте, но ничего не появляется с помощью Chrome, действительно беспокоит меня.
для живой проблемы, страница без box-sizing
и здесь и (предположительно) мобильным дружественным является здесь.
Все отлично работает на Firefox в обоих, и мобильный просмотр в Firefox показывает это отлично. Кто-нибудь может помочь мне понять, что случилось?
2 ответов
изменить .row to:
.row {
display: inline-flex;
width: 100%;
}
вы также можете сообщить об этой ошибке команде за Chrome.
проблема в том, что вы не снимите поплавки.
.header {
float: left;
width: 100%;
border: 1px solid #000;
}
.row {
display: flex;
}
<div class="header">Header</div>
<div class="row">Content</div>
<div class="header">Header</div>
<div class="row">Content</div>
<div class="header">Header</div>
<div class="row">Content</div>
<div class="header">Header</div>
<div class="row">Content</div>
просто добавить
.row {
clear: both;
}
.header {
float: left;
width: 100%;
border: 1px solid #000;
}
.row {
display: flex;
clear: both;
}
<div class="header">Header</div>
<div class="row">Content</div>
<div class="header">Header</div>
<div class="row">Content</div>
<div class="header">Header</div>
<div class="row">Content</div>
<div class="header">Header</div>
<div class="row">Content</div>