如何使用CSS重叠无序列表中的项目?

时间:2011-08-08 21:52:20

标签: html css

我使用UL来横向显示LI s

我希望在第一个LI之后与前一个LI重叠20个像素。我尝试将left:-20px;应用于第一个之后的所有LI,但这似乎只会将所需的格式应用于其中一个LI

你可以看到我现在拥有的东西:

http://jsfiddle.net/dp9YD/1/

有关从我的示例中获取第三个和第四个LI的任何建议都移过来了吗?

6 个答案:

答案 0 :(得分:1)

您应该使用margin-left代替left

.notFirst
{
     margin-left:-20px;   
}

答案 1 :(得分:0)

请使用margin:

,而不是将{left}用于notFirst
margin: 0 0 0 -20px;

答案 2 :(得分:0)

此效果不需要相对定位。 You simply need a negative margin-left

答案 3 :(得分:0)

由于列表项没有相对或绝对定位,所以

left不会执行任何操作。应用负边距应该可以解决问题:

.notFirst { margin-left:-20px; }

答案 4 :(得分:0)

UL位置设为相对位置,将所有LI位置设为绝对位置,left:0top:0 这将重叠所有div,但不会做你想要的滑块样式。 话虽这么说,我不认为你能做任何有意义的事情而不能动态改变z-index这意味着使用JS,在这种情况下你可以为每个li添加margin-left:20以获得你想要的效果。

答案 5 :(得分:0)

有一种更好的方法来解决这个问题,你不需要添加任何特殊的类来完成它。

使用UL样式只需使用padding-left: 20px;,这将为LI margin-left: -20px; LI中的第一个{{1}}提供额外空间式