2017-05-16 1 views
2

MediaWikiページでは、特定のテーブル行の背景色を設定したいと思います。サイトのグローバルスタイルシートがすでに<td>のスタイルを持っているので、彼らがそうであるように、細胞は、デフォルトでは<tr>からスタイルを継承しません:これはMediaWikiの、I can only set attributes on table tagsあるのでグローバルスタイルがある場合に行のインラインスタイルとして背景色を指定​​

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

。私はどういうわけか:td{background-color}スタイルをデフォルトのinheritに上書きして、各セルにコピーする必要はありませんか?

https://www.w3.org/TR/css-style-attr/#syntaxで判断すると、これはそう思われません。

+0

すべての 'td'は' table'と同じ背景色にしますか? –

+0

また、 'インライン'とはどういう意味ですか? –

+0

'OliveGreen'は有効な色ですか? 「Olive」、「DarkOliveGreen」、「OliveDrab」は私が知っている。 – j08691

答えて

1

CSSを編集できない場合、答えは「いいえ」です。すべての表のセルにインラインスタイルを追加する必要があります。これは、Wikipediaに{{n/a}}のようなインラインスタイルを追加するテンプレートがある理由です。

これを行う最善の方法は、CSSを自分で編集することです。あなたがそれを行うことはできませんが、拡張機能をインストールする(または他の人にそれらをインストールするよう説得する)立場にいる場合は、TemplateStyles extensionを試してください。カスタムCSSを個々のテンプレートに追加できます。それに失敗した場合は、{{n/a}}のようなテンプレートを作成して、すべての表のセルにスタイルを追加することができますが、入力を省くことができます。あるいは、弾丸を噛むだけで、すべてのスタイルをすべての表のセルに手動で追加することができます。

1

このインラインを実行しようとしている特定の理由はありますか(グローバルであればできません - CSSを使用する必要があります)。これはより具体的なので、それらの要素のグローバルを上書きします。

すなわち:

td class="othercolor" 

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

これはあなたの目的のためにあまりにも一般的かもしれませんが、

tr { 
    background-color:salmon; 
} 

td { 
    background-color:salmon; 
} 

を変更するだけでオリーブの2行目を表示し、されますサーモンの他の列。

1

(作業中ですが、非常に近いですが、開いているパッチをすべて適用するとうまくいくでしょう)では、CSSルールをwikiページに付けることができます。あなたのようなことをすることができます

table.mytable td { 
    background-color: Salmon; 
} 
+0

[先に述べたように](/ questions/44005546 /指定 - 背景色 - インラインスタイル - 行の場合 - the-a-global-style-f/44028367#comment75040675_44005546)、安定した[Extension:CSS](https://www.mediawiki.org/wiki/Extension:CSS)には、より少ない制限があります。 –

+0

@ivan_pozdeev多分疑わしいセキュリティモデルです。 – Tgr

+0

違いはありません。どちらもページに任意のCSSを挿入しています。唯一の違いは、パーサ関数を使って直接挿入された場合、またはテンプレートに関連付けられてそのテンプレートが継承されたときに挿入された場合です(私は著者がこれにより保守性が向上すると考えていると思います)。ここに「セキュリティモデル」はありますか? –

関連する問題