考えます次のコード:
#wrapper {
width: 500px;
border: 1px solid black;
}
#first {
width: 300px;
border: 1px solid red;
}
#second {
border: 1px solid green;
}
<div id="wrapper">
<div id="first">Stack Overflow is for professional and enthusiast programmers, people who write code because they love it.</div>
<div id="second">When you post a new question, other users will almost immediately see it and try to provide good answers. This often happens in a matter of minutes, so be sure to check back frequently when your question is still new for the best response.</div>
</div>
2 つの div をラッパー div 内で隣り合わせに配置します。この場合、緑の div の高さによってラッパーの高さが決まります。
CSS でこれをどうやって実現できるでしょうか?
ベストアンサー1
内部の div の 1 つまたは両方をフロートします。
1 つの div をフローティングします。
#wrapper {
width: 500px;
border: 1px solid black;
overflow: hidden; /* will contain if #first is longer than #second */
}
#first {
width: 300px;
float:left; /* add this */
border: 1px solid red;
}
#second {
border: 1px solid green;
overflow: hidden; /* if you don't want #second to wrap below #first */
}
または、両方をフロートする場合は、ラッパーにフロートされた子要素の両方を含めるようにする必要があります。div
そうしないと、ラッパーは空であると認識し、それらの周囲に境界線を配置しません。
両方の div をフローティングします。
#wrapper {
width: 500px;
border: 1px solid black;
overflow: hidden; /* add this to contain floated children */
}
#first {
width: 300px;
float:left; /* add this */
border: 1px solid red;
}
#second {
border: 1px solid green;
float: left; /* add this */
}