我有以下示例,我正在尝试创建选项卡,但由于某种原因,即使使用clear: both;
. 无论我有float: right;
还是,它的行为都是一样的float: left;
。有人可以帮我吗?
问问题
78 次
4 回答
1
这是因为ul
.
在大多数浏览器中, aul
有一个padding-left
of40px
来为项目符号分配间距。
jsFiddle 示例- 删除填充
ul {
background: #006daa;
float: right;
padding: 0px;
}
此外, remove clear:both
,因为这在这种情况下没有任何影响。
结果:
……到……
于 2013-11-07T22:47:51.613 回答
1
于 2013-11-07T22:47:51.890 回答
1
如果您希望蓝色背景跨越整个屏幕,则需要设置(容器)的width
to 。100%
ul
li
ul {
background: #006daa;
clear: both;
float: right;
width: 100%; /* changed */
}
于 2013-11-07T22:49:02.003 回答
1
你想走多远?你真的希望它一直走到最后吗?
首先,在ul上设置width: 100%:
ul {
background: #006daa;
clear: both;
float: right;
width: 100%;
}
这会将 ul 扩展到页面的末尾。如果您不希望它一直到页面末尾,请向容器添加填充:
.container {
padding: 0 10px;
}
或者用不同的标签包装 ul ,如下所示:
<div class="container">
<nav class="main-navigation">
<ul>
<li>First</li>
<li>Second</li>
<li>Third</li>
<li>Fourth</li>
</ul>
</nav>
</div>
然后添加填充:
.main-navigation {
padding: 0 10px;
}
这完全取决于您希望它走多远,但通常设置 width: 100% 并在父标签上定义尺寸是使用浮动时制作类似条形的最佳方法。
此外,您应该在您的问题中包含代码示例。链接到外部来源很好,但您也应该将它们包含在您的问题中。
于 2013-11-07T22:53:00.450 回答