2010-07-05 77 views
1

我嵌套了ul/li,问题是如果您向顶部li添加背景颜色,因为其中嵌套项目,整个列表似乎都具有此背景颜色而不仅仅是顶部李(我认为这是因为它延长顶部李的高度)。将背景颜色应用于li而不是嵌套

是否有可能只将背景颜色应用到顶部li?

我希望这是有道理的!

回答

1

你说的顶部li,但我认为你的意思是根li,其中也包含li元素的子元素。在这种情况下,可以设置的背景颜色如下:

.myroot>ul>li { background-color: Yellow } 

注:上面的示例需要与类名“myroot”一个包装元件(通常是DIV)。

有关CSS子选择器的更多信息,请参阅this article

0

好,你可以随时给孩子李的不同的背景颜色。

0

使用jQuery,并给予特殊类第一李

`$("ul li:first")`.addClass('special_bg') 

=只能得到的< -ul->

0

第一< -li->元素,这取决于你的CSS。您可以定义一个顶级li类并使用它来设置背景颜色。

0

孩子总是继承父母的属性;这就是为什么它被称为级联样式表。

我建议给所有的li元素一个默认的背景颜色,并为顶层元素(例如一个特殊的类)覆盖它。

1

我的理解是你有一个带有LI的UL(我们称之为'父'),并且LI还有一个带有LI的UL(我们称之为孩子)呢?您将背景应用于父级,并且在孩子下面也可以看到背景?因为孩子位于父母的内部,所以他们必须改变他的身高,所以背景比打的更大,有两种方法可以阻止这种情况,你可以(如前所述)将另一个背景放在孩子身上,或者你可以在父级内放置一个SPAN,并将背景放在SPAN上而不是LI.parent。

2

有关系选择>这意味着“立即儿”:

ul > li { 
    background-color: <your color>; 
} 

但在使用它,我曾与跨平台的兼容性问题。你也可以做的是设置了什么规则的多个级别:

ul li { 
    background-color: <your color>; 
} 

ul li li { 
    background-color: none; 
} 
+0

第二个选项是更好,因为@Jonathan这正是我的意思是“但我有IE6不支持“>”子选择 – 2010-09-03 00:14:02

+0

在使用它时遇到了跨平台兼容性问题。“ – amphetamachine 2010-09-04 12:10:44

+0

不用担心,我以为你指的是Windows vs Linux vs Mac。 – 2010-09-04 13:47:01