2011-06-07 90 views
1

我想要模拟选项卡,以便列表项中的第一个单词总是获得固定的宽度。我不喜欢这样写道:获取属性流血到儿童

<style> 
.tabbed { float: left; width: 5em; } 
</style> 

<ul> 
<li><span class='tabbed'>first</span> entry in my list</li> 
<li><span class='tabbed'>second</span> list entry</li> 
</ul> 

的方法效果比较好,只是如果我想做的事:

li { color: blue } 

它的颜色(这并不奇怪)适用于<li>但不给<span>。这意味着我将不得不:

.tabbed { color: blue } 

这不是非常干燥。在我的情况下,我已经为列表项目的不同类别做了大量的声明,所以它很繁琐和难看。

这是怎么处理的?

+0

我没有看到一个概率的例子用这个。你能展示更多你的风格吗? – 2011-06-07 01:58:59

+1

除非'.tabbed'之前应用了颜色,否则它应该通过执行li {color:blue; } – Dave 2011-06-07 02:00:26

回答

2

默认情况下,该span应该如果li为蓝色变成蓝色。

为例

我想你一定有一些其他的CSS覆盖它

万一见http://jsfiddle.net/Q2UGE/你有别的东西覆盖它,你不能改变,你也可以强制li .tabbed继承它父

li .tabbed { color: inherit } 

http://jsfiddle.net/Q2UGE/1/对于该

+0

我可以看到你很正确。我需要弄清楚现在我的代码还有哪些可能会发生。感谢您抽出时间来证明这一点。 – ekkis 2011-06-08 08:28:47

1

你不可能真的。你可以做的最好的是...

li, 
.tabbed { 
    color: blue 
} 
+1

'li .tabbed {color:inherit}'不会更好吗? – Petah 2011-06-07 02:04:40

+0

@Petah它会是同样的事情,我不确定它会更好。 – alex 2011-06-07 02:59:14

1
li, .tabbed { color: blue } 

那一点更干。

1

像这样:

li, .tabber { color: blue }