Html 位置和浮动在CSS下拉列表中导致无法解释的行为
我找到了那个玩具,正在玩它 请看下面的JSFIDLE-Html 位置和浮动在CSS下拉列表中导致无法解释的行为,html,css,position,css-float,Html,Css,Position,Css Float,我找到了那个玩具,正在玩它 请看下面的JSFIDLE- 第一个菜单-。菜单是一个 第二个-.menu2已由我修改 当我从中删除位置:relative时- .menu ul li { display: block; position: relative; float: left; } 并删除float:none- .menu li:hover li { float: none; font-size: 11px; } 从.menu我得到.menu2,
- 第一个菜单-
是一个李>。菜单
- 第二个-
已由我修改.menu2
位置:relative
时-
.menu ul li {
display: block;
position: relative;
float: left;
}
并删除float:none
-
.menu li:hover li {
float: none;
font-size: 11px;
}
从.menu
我得到.menu2
,它以水平方式显示下拉列表
我不明白为什么。我假设只要删除
float:none
就可以使li
并排出现,但我们也必须删除位置:relative
,才能达到这种效果。为什么会这样?第二个ul
位于绝对位置,位于第一个li
元素内,该元素位于相对位置。这导致ul
不依赖于车身元件,而是依赖于li
元件。因此,它不能长于li
元素的宽度,因此ul
元素内的所有内容都尽可能位于li
元素的宽度内
因此,问题不是第二级li
元素,而是第一级元素
您可以使用
选择器在第一级li
和第二级之间进行区分