当有全局样式时,将背景颜色指定为行的内联样式

时间:2017-05-16 15:23:42

标签: html css html5 mediawiki

在MediaWiki页面中,我想设置特定表格行的背景颜色。网站的全局样式表已经有<td>的样式,因此单元格不会像<tr>那样继承样式,因为默认情况下这样做:

&#13;
&#13;
td {
  background-color:Salmon;
}
&#13;
<table border="1">
<tr><td>Salmon</td></tr>
<tr style="background-color:Olive;">
<td>Olive</td>
</tr>
<tr><td>Salmon</td></tr>
</table>
&#13;
&#13;
&#13;

由于这是MediaWiki,I can only set attributes on table tags。我可以以某种方式将:td{background-color}样式覆盖到包含它们的表的默认inherit,而不必将其复制到每个单元格中吗?

根据https://www.w3.org/TR/css-style-attr/#syntax判断,这似乎不太可能。

4 个答案:

答案 0 :(得分:1)

你是否有一个特定的原因想要内联(如果你有一个全局你将不可能 - 你将不得不使用CSS)只需给你想要一个类不同颜色的表格单元格。由于这将更具体,它将覆盖这些元素的全局。

即:

td class="othercolor"

td.othercolor{
   background-color:#some other color
}

答案 1 :(得分:1)

如果您无法编辑CSS,则答案为否 - 您必须将内联样式添加到每个表格单元格。这就是为什么维基百科有像{{n/a}}这样的模板为你添加内联样式的原因。

这样做的最佳方法是自己编辑CSS。如果您不能这样做,但您可以安装扩展程序(或说服其他人安装扩展程序),您可以尝试TemplateStyles extension,它允许您将自定义CSS添加到各个模板。如果做不到这一点,你可以创建一个像{{n/a}}这样的模板,它将样式添加到每个表格单元格中,但可以节省一些输入。或者你可以咬住子弹并手动将所有样式内联到每个表格单元格。

答案 2 :(得分:1)

TemplateStyles extension(这是一项正在进行的工作,但几乎已经完成;如果应用所有打开的补丁,可能会正常工作)允许将CSS规则附加到Wiki页面。所以你可以做像

这样的事情
'targettext'

答案 3 :(得分:0)

这可能对您的目的来说过于笼统,但更改

td {
  background-color:salmon;
}

tr {
  background-color:salmon;
}

将仅在Olive中显示第二行,在Salmon中显示其他行。