次のコードを使用して、同じ高さの2つのボックスを並べて表示しています。
<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;
を追加しました。これは何らかの理由でフレックスを台無しにしたので、ほとんどの要素でbox-sizing
をcontent-box
に設定し直し、修正しました。ただし、デスクトップでもモバイルでも、box-sizing
行があるかどうかに関係なく、Chromeではコードが機能しないことに気づき、何が機能していないのかわかりません。私はモバイルサイトで作業しているが、Chrome=を使用しても何も表示されないという事実は本当に気になります。
ライブの問題では、box-sizing
のないページは here であり、(と思われる)モバイルフレンドリーなページは here です。
。誰が私が間違っているかを理解するのを助けることができますか?
.rowを次のように変更します。
.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>
使用する row{ display: flex; flex-direction: row; }