我知道很多人之前曾在float
上提问,但即便看到它们,我也无法看到我做错了什么。我只想要
HELLO
THERE
就在ul的左边。基于this answer,我尝试将clear添加到父div。并基于this answer我尝试将overflow:hidden添加到父级。两者都没有。
在所有情况下,UL
<div>
<div style"float:left;">
<div>HELLO</div>
<div>THERE</div>
</div>
<div style="float:right;">
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</div>
</div>
答案 0 :(得分:3)
只需float
他们left
。无需为您想要的任何清算或任何事情做任何事情。看看下面的演示。
<强> Live Demo 强>
<强>标记强>
<div>
<div class="left">
<div>HELLO</div>
<div>THERE</div>
</div>
<div class="left">
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</div>
</div>
<强> CSS 强>
.left{float: left}
答案 1 :(得分:3)
您的float: left;
未被应用,因为您忘记了=
。如果你希望它们彼此相邻,你应该将两个div left
浮动:
<div>
<div style="float:left;">
<div>HELLO</div>
<div>THERE</div>
</div>
<div style="float:left;">
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</div>
</div>
您可能希望将overflow: hidden
添加到父div或空白div,如:
<div style="clear:left;"></div>
在最后,要使该div之后的内容低于它而不是旁边:
答案 2 :(得分:2)
将ul更改为float:left。只要有水平空间,它就应该漂浮在HELLO THERE旁边。
答案 3 :(得分:1)
不要手动清除元素,而是使用跨浏览器的clearfix类,如下所示:
.clearfix:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
.clearfix {
display: inline-block;
}
html[xmlns] .clearfix {
display: block;
}
* html .clearfix {
height: 1%;
overflow: visible;
}
并将其应用于您的父级div:
<div class="clearfix">
<div style="float:left;">
<div>HELLO</div>
<div>THERE</div>
</div>
<div style="float:right;">
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</div>
</div>
答案 4 :(得分:0)
我知道在发布时会有1000个答案,但你需要指定最外层div的宽度。因为没有它,它默认为'auto',这意味着它会尽可能地压缩,这就是<ul>
被推到下一行的原因。
<div style="width:100%;">
<div style="float:left;">
<div>HELLO</div>
<div>THERE</div>
</div>
<div style="float:left;">
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</div>
</div>