2016-07-05 88 views
0

enter image description here您好,我正在尝试制作水平导航栏。 enter image description here 对于我已经把溢出:隐藏。 对于李我已经把浮动:左。 而且我在水平导航栏下有一些段落。是否溢出:隐藏是否使块级别元素?

当我删除“overflow:hidden”时,段落将会在我的水平导航栏旁边移动。 我不明白为什么。 有人可以请给我解释一下吗?

+0

能否请您分享您的HTML,CSS? –

回答

0

overflow: hidden;用于清除li标签上的浮标。没有它的时候,这个段落在列表旁边,因为李的左边是浮动的。

+0

谢谢你的回复。所以当我制作水平导航栏时,必须始终使用overflow:hidden;和float:left? –

+0

有多种清除浮动块的方法。通常,最常用的方法称为micro clearfix,它使用psuedo元素(:before,:after)来清除它。 http://nicolas.gallagher.com/micro-clearfix-hack/ –

+1

非常感谢你 –

1

没有。 从不使用overflow:hidden上一个navigation
overflow:hidden可以隐藏你需要可见的元素。所以不要使用它,除非你真的需要

但在这种情况下,你不

在这里看到:jsfiddle

使用clear:left在一段 代码:

li { 
    float:left; 
    padding:10px 
} 
ul { 
float:left; 
list-style:none; 
background:grey; 
width:auto; 
} 
p { 
clear:left; 
float:left; 
width:100px 
} 

ul(导航列表上使用float:left;width:100%

看到这里jsfiddle

代码:

li { 
    float:left; 
    padding:10px 
} 
ul { 
float:left; 
list-style:none; 
background:grey; 
width:100%; 
} 
p { 

float:left; 
width:100px 
} 
+0

浮动一切离开不会帮助进一步在页面下面的东西。最好清除浮动,然后你将不需要把所有东西都放到100% –

+0

我只是浮动''p'只出于一些原因。如果你在'ul'上使用'float:left'和'width:100%',你就不会有任何问题,你不需要'浮动'或'100%'任何其他元素 –