当表在类中时,如何覆盖默认表格样式?

时间:2012-05-10 08:11:36

标签: css

我有两种不同的表格样式定义:

table {
border: solid 1px #E8EEF4;
border-collapse: collapse;
}

因为我的特定表在<div class="checkboxquestion>内,所以我对这个类中的表有一个特殊的样式定义:

.checkboxquestion table
{
    border: none;
    text-align: center;
}

问题是,border: none;覆盖了border-collapse: collapse; - 并且所有其他样式选项都被“默认”定义覆盖。

我如何解决这个问题?

4 个答案:

答案 0 :(得分:1)

div.checkboxquestion table也是一种选择;)

并确保具体定义在通用定义之后。

答案 1 :(得分:1)

我认为你犯了另一个错误,它对你的影响对我有用:看看this fiddle

也许你没有像在问题中那样关闭div类的引号?

答案 2 :(得分:0)

创建一个新类并将其应用于.checkboxquestion

中的表

像:

table, .tabelClass {
border: solid 1px #E8EEF4;
border-collapse: collapse;
}

然后将它应用到你的桌子上:

<table class="tabelClass">

答案 3 :(得分:0)

不要进入特异性战争,特别是对自己。 使用table,tr,td等选择器定义所有常用表格样式 如果您有两种不同类型的表,请为它们提供两个不同的类。

如果这是“一次性事情”,你真的需要一切都是一样的:

.checkboxstyle table {
 border-collapse: separate;
 text-align:center;
 border:none;
}

我不是百分之百确定你想要做什么,但如果你试图让边框不可见,那么在背景颜色上涂上边框会更容易。

.checkboxstyle table {
 border-color:blue;
}

您可以在此处详细了解http://htmldog.com/guides/cssadvanced/specificity/ 记住,一读到就忘掉那里的一切,因为你不想计算特异性。如果你发现你正在这样做,你就会写下糟糕的CSS。