我目前正在与浮动元素再次战斗。
请看一下这个jsfiddle:float-issue
html {
width: 100%
}
.container {
/*width: 80%;*/
/*margin: auto;*/
border: 1px solid black;
}
.element {
margin-left: 10px;
margin-right: 10px;
background-color: purple;
float: left;
}
<div class="container" style="float: right">
<div style="float: left">HEADER</div>
<div style="border: 1px solid green;">
<div style="float: left">
<div class="element">lorem ipsum dolor sit amet.</div>
<div class="element">lorem ipsum dolor sit amet. lorem ipsum dolor sit amet.</div>
<div class="element">lorem ipsum dolor sit amet.</div>
</div>
</div>
</div>
我不明白的是,为什么紫色元素不在“HEADER”旁边而是在新行上?在已经浮动的div周围添加绿色边框div元素时出现了这个问题。我无法解释为什么这会产生新的行? any any可以帮助我吗?
我认为会发生的事情是:
我错过了什么?
答案 0 :(得分:0)
以下是display: inline-block
html {
width: 100%
}
.container {
/*width: 80%;*/
/*margin: auto;*/
border: 1px solid black;
}
.element {
margin-left: 10px;
margin-right: 10px;
background-color: purple;
float: left;
}
&#13;
<div class="container" style="float: right">
<div style="float: left; display: inline-block;">HEADER</div>
<div style="border: 1px solid green; display: inline-block;">
<div style="float: left">
<div class="element">lorem ipsum dolor sit amet.</div>
<div class="element">lorem ipsum dolor sit amet. lorem ipsum dolor sit amet.</div>
<div class="element">lorem ipsum dolor sit amet.</div>
</div>
</div>
</div>
&#13;
答案 1 :(得分:0)
您正在将容器内的“HEADER”div和“green”div浮动。绿色div的内容总是太宽而不适合标题的右侧。如果您从绿色div和float: left
div之间的div 中删除.element
,您将看到您所追求的结果。
<div class="container" style="float: right">
<div style="float: left">HEADER</div>
<div style="border: 1px solid green;">
<div>
<div class="element">lorem ipsum dolor sit amet. </div>
<div class="element">lorem ipsum dolor sit amet. lorem ipsum dolor sit amet.</div>
<div class="element">lorem ipsum dolor sit amet. </div>
</div>
</div>
</div>
答案 2 :(得分:0)
关于浮子的位置。首先浮动标题,然后立即浮动包含&#34; .element&#34;的div。 class divs。但是DON&#39; T浮动.element div。在这里摆弄:https://jsfiddle.net/e9bqoucg/2/
<div class="container" style="float: right">
<div style="border: 1px solid green;">
<div style="float: left;">HEADER</div>
<div style="float: left">
<div class="element">lorem ipsum dolor sit amet. </div>
<div class="element">lorem ipsum dolor sit amet. lorem ipsum dolor sit amet.</div>
<div class="element">lorem ipsum dolor sit amet. </div>
</div>
</div>
</div>