将CSS选择器与类无效组合

时间:2014-03-10 12:38:52

标签: html css css-tables

我想我知道如何组合CSS选择器的规则。

但它没有用。

我有这个CSS:

table,td
{
    border               : 1px solid #CCC;
    border-collapse      : collapse;
  font                 : small/1.5 "Tahoma", "Bitstream Vera Sans", Verdana, Helvetica, sans-serif;
}

table
{
    border                :none;
    border                :1px solid #CCC;
}
thead th,
tbody th
{
    background            : #fafafb;
  color                 : #666;  
    padding               : 5px 10px;
  border-left           : 1px solid #CCC;
  border-bottom            : 1px solid #CCC;
}
tbody th
{
  background            : #fafafb;
  border-top            : 1px solid #CCC;
  text-align            : left;
  font-weight           : normal;
}

#middletable {
  background            : #fafafb;
  border-top            : 1px solid #CCC;
  text-align            : center;
  font-weight           : normal;
}
tbody tr td
{
    padding               : 5px 10px;
  color                 : #666;
}

我想指定它,所以这个规则只适用于一个类。

所以我把类“greytable”放到我的表标签

<table class="greytable"></table>

之后我尝试将选择器放到我的CSS中:

table.greytable, .greytable td
{
    border               : 1px solid #CCC;
    border-collapse      : collapse;
  font                 : small/1.5 "Tahoma", "Bitstream Vera Sans", Verdana, Helvetica, sans-serif;
}

table.greytable
{
    border                :none;
    border                :1px solid #CCC;
}
.greytable thead th,
.greytable tbody th
{
    background            : #fafafb;
  color                 : #666;  
    padding               : 5px 10px;
  border-left           : 1px solid #CCC;
  border-bottom            : 1px solid #CCC;
}
.greytable tbody th
{
  background            : #fafafb;
  border-top            : 1px solid #CCC;
  text-align            : left;
  font-weight           : normal;
}

#middletable {
  background            : #fafafb;
  border-top            : 1px solid #CCC;
  text-align            : center;
  font-weight           : normal;
}
.greytable tbody tr td
{
    padding               : 5px 10px;
  color                 : #666;
}

但它不起作用。任何人都可以告诉我我做错了什么以及它将如何运作?

这是小提琴:http://jsfiddle.net/HYabQ/

1 个答案:

答案 0 :(得分:1)

好的,这是非常基本的东西。但我已经为你创造了一个例子。

在这个简单的演示中我们有2个表,我们只想设置第一个表。我们给它一个classid并使用它给出表格样式。它和其他任何东西一样真实,因为表格有test类,我们不需要再次尝试获取表格,例如.test table,因为我们已经选择了它。

由此可以设置第一个包含类test的表格,而不会触及第二个表格,因为它没有类test

看看小提琴并玩弄它,希望这会有所帮助。

HTML:

Only this one will be affected
<table class="test">
    <tr>
        <th>Test</th>
        <th>Test</th>
        <th>Test</th>
    </tr>
    <tr>
        <td></td>
        <td></td>
        <td></td>
    </tr>
</table>

This table will not
<table>
    <tr>
        <td></td>
        <td></td>
        <td></td>
    </tr>
</table>

CSS:

.test th {
    width: 100px;
    border: 1px solid;
    font-size: 10px;
}
.test td {
    border: 1px solid;
    height: 100px;
}

DEMO HERE