CSS使li元素出现在ul之外
考虑到这一准则:CSS使li元素出现在ul之外,css,positioning,z-index,Css,Positioning,Z Index,考虑到这一准则: <div class="menu"> <ul> <li class="active">I'm active!</li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li&g
<div class="menu">
<ul>
<li class="active">I'm active!</li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
- 我很活跃李>
My.menu div有一个1px的黑色边框,My.active list元素有一个白色背景。现在,我希望我的.active列表元素位于div的“外部”,并与边框重叠,用白色背景部分隐藏它。这是如何实现的
来说明我想要什么
这就是我目前所拥有的,编码好的;
这就是它应该看起来的样子;
这是你要找的z指数吗
div.menu li.active { z-index: 99; ... }
然后,你可以使用负边距将其定位在“外部”,或者更好地嵌套另一个你可以相对定位的元素。这是你正在寻找的z指数吗
div.menu li.active { z-index: 99; ... }
然后,您可以使用负边距将其定位在“外部”,或者更好地嵌套另一个可以相对定位的元素。使用相对定位
.menu li {
position: relative;
top: 1px;
}
要确保这一点,需要注意以下几点:
- 事实上,这是对所有的李元素是故意的。如果我只把它放在选中的一个上,那么选中的一个将显示为下移
- 只有当蓝色背景是
标签的一部分并且ul
标签具有透明背景(当然图像除外)时,这才有效。否则,您可能会覆盖li
元素的所有边界ul
还有一件事(只是因为)。你有这个:
<div class="menu">
<ul>
...
</ul>
</div>
...
ul标签本身完全可以拥有一个类。除非你有很好的理由不这样做,否则就这样做:
<ul class="menu">
...
</ul>
...
使用相对定位
.menu li {
position: relative;
top: 1px;
}
要确保这一点,需要注意以下几点:
- 事实上,这是对所有的李元素是故意的。如果我只把它放在选中的一个上,那么选中的一个将显示为下移
- 只有当蓝色背景是
标签的一部分并且ul
标签具有透明背景(当然图像除外)时,这才有效。否则,您可能会覆盖li
元素的所有边界ul
还有一件事(只是因为)。你有这个:
<div class="menu">
<ul>
...
</ul>
</div>
...
ul标签本身完全可以拥有一个类。除非你有很好的理由不这样做,否则就这样做:
<ul class="menu">
...
</ul>
...
给你一些CSS黑魔法
下面的工作示例可以跨浏览器工作。请询问您是否希望了解其工作原理
享受。一些CSS黑魔法 下面的工作示例可以跨浏览器工作。请询问您是否希望了解其工作原理
享受。活动li是否始终是列表中的第一项?否。如果你看我添加的屏幕截图,它只是一个菜单列表,因此取决于页面。活动li是否始终是列表中的第一项?否。如果你看我添加的屏幕截图,它只是一个菜单列表,因此取决于页面。谢谢,我会试试看。关于UL周围的div,这是因为我截图中的蓝色背景实际上是一个条,它正好穿过屏幕,而列表本身位于一个960px宽的中间包装器中;)@Jean Piere,这就是你需要的理由:P.@Stargazer712 Ahhh cr*P。除了在.menu div中将li向下推一点之外,它什么也不做。它不会像我所希望的那样显示在它的“顶部”。它会做你想做的事情。将top参数更改为100px以查看。如果问题是它没有显示在顶部,请执行以下操作:
。菜单ul{position:relative;z-index:1}。菜单li{position:relative;top:1px;z-index:2}
。其他需要尝试的事情:确保li
实际上占据了整个容器的大小。应用边框以确保这是正确的。这就是你需要做的,它会起作用的。谢谢,我会试试的。关于UL周围的div,这是因为我截图中的蓝色背景实际上是一个条,它正好穿过屏幕,而列表本身位于一个960px宽的中间包装器中;)@Jean Piere,这就是你需要的理由:P.@Stargazer712 Ahhh cr*P。除了在.menu div中将li向下推一点之外,它什么也不做。它不会像我所希望的那样显示在它的“顶部”。它会做你想做的事情。将top参数更改为100px以查看。如果问题是它没有显示在顶部,请执行以下操作:。菜单ul{position:relative;z-index:1}。菜单li{position:relative;top:1px;z-index:2}
。其他需要尝试的事情:确保li
实际上占据了整个容器的大小。应用边框以确保这是正确的。这就是你需要做的,它会起作用的。