我希望我的<li>
元素在每个<ul>
块中水平对齐,但每个<ul>
块在新行的左侧开始。以下方法无效。 <ul>
显示在同一行。
<style>
.fl {
float: left;
}
</style>
<ul>
<li class='fl'>Test 1</li>
<li class='fl'>Test 2</li>
</ul>
<ul>
<li class='fl'>Test 3</li>
<li class='fl'>Test 4</li>
</ul>
&#13;
https://jsfiddle.net/bcLudxwj/
我该如何解决?
答案 0 :(得分:2)
方法-1:使用 m
在display: flex;
标记中添加ul Css display: flex;
并删除内联样式。下面示例请参阅
<ul style='display:block'>
现场演示 Here
以下代码段示例
ul
{
display: flex;
}
li.fl
{
float:left;
margin-right:10px;
list-style-type: none;
}
&#13;
ul
{
display: flex;
}
li.fl
{
float:left;
margin-right:10px;
list-style-type: none;
}
&#13;
方法-2:使用 <ul>
<li class='fl'>Test 1</li>
<li class='fl'>Test 2</li>
</ul>
<ul >
<li class='fl'>Test 3</li>
<li class='fl'>Test 4</li>
</ul>
在display: table;
标记中添加ul Css display: flex;
并删除内联样式。下面示例请参阅
<ul style='display:block'>
现场演示 Here
以下代码段示例
ul
{
display: table;
}
li.fl
{
float:left;
margin-right:10px;
list-style-type: none;
}
&#13;
ul
{
display: table;
}
li.fl
{
float:left;
margin-right:10px;
list-style-type: none;
}
&#13;
答案 1 :(得分:1)
具有float属性的元素的容器需要&#34; cap&#34;要正确使用。这个上限通常被称为&#34;更清晰&#34;。你需要创建一个班级&#34;更清晰的&#34;像这样在css中:
<style>
.clearer {
clear:both;
}
</style>
并在每个<div class="clearer"></div>
</ul>
答案 2 :(得分:1)
试用此代码:
.fl{ float:left;clear:both;}
答案 3 :(得分:1)
由于您没有清除每个ul
块的浮点数,因此ul
不会以新行开头。
同时添加margin
以说明无序列表的项目符号的空间 - 请参阅下面的演示:
更新小提琴:https://jsfiddle.net/xu9j3rsp/
.fl {
float: left;
margin: 15px;
}
ul:after {
content: '';
display: block;
clear: both;
}
<ul>
<li class='fl'>Test 1</li>
<li class='fl'>Test 2</li>
</ul>
<ul>
<li class='fl'>Test 3</li>
<li class='fl'>Test 4</li>
</ul>
答案 4 :(得分:0)
显示列表项的内联块和ul
的显示块ul li{
display:inline-block;
}
ul{
display:block;
}
答案 5 :(得分:0)
您需要清除ul:
ul {
overflow: hidden;
}