2014-12-05 67 views
0

我有一个CSS选择器怀疑。究竟选择这个CSS选择器是什么?为什么我有这种行为?

进入我的CSS文件中的设置,我有以下代码:

.table_legenda th, td { 
    text-align: left; 
    vertical-align: top; 
    font-weight: bold; 
    color: #76818a; 
    border-bottom: 1px solid #76818a; 
    border-left: 1px solid #76818a; 
    white-space: nowrap; 
    overflow: hidden; 
} 

究竟选择?

我认为它选择所有日和内部 TD元素具有表类.table_legenda

的问题是,它是选择对我来说也是另一个表内TD元素没有设置类别.table_legenda(但设置了另一个类别)。

为什么?我错过了什么?

Tnx

+3

你需要使用这个选择器:'.table_legenda th,.table_legenda td'。 – 2014-12-05 11:57:58

回答

4

您误解了逗号的优先顺序。

.table_legenda th, td {} 

等同于:

.table_legenda th {} 
td {} 

到:

.table_legenda th {} 
.table_legenda td {} 

您需要在每次你有一个逗号时指定完整的选择:

.table_legenda th, 
.table_legenda td {} 

一个预处理工具如SASS可以给你的另一种写法:

.table_legenda { 
    th, td {} 
} 
-1

它选择tr inside table_legenda class,除了那,所有td

你想要的选择是

.table_legenda th, .table_legenda td 

在这其中,它选择所有的th inside .table_legenda和所有td inside .table_legenda

-2

的,意味着选择另一个属性,所以你应该做的是:

.table_legenda th,.table_legenda td { 
text-align: left; 
vertical-align: top; 
font-weight: bold; 
color: #76818a; 
border-bottom: 1px solid #76818a; 
border-left: 1px solid #76818a; 
white-space: nowrap; 
overflow: hidden; 
} 
相关问题