1

私はJoomlaモジュールを構築しましたが、これは特定の電卓の単なるエコーです。書式設定のために、エコーにテーブルがあります。Joomla の外部でスクリプト全体を使用すると、すべて問題ないように見えます。しかし、Joomla がテーブルに CSS を強制していることに気付きました。私のCSSは有効でロードされているはずです。とても簡単です:

<table class="joomla_tables"  cellpadding="5" cellspacing="0">
...

.joomla_tables{
border:0;
padding:5px;
}

私はすでにFirebugでそれをチェックしました。ただし、firebug は、私のテーブルがそのスタイルを継承していると言っています

tr, td {
border: 1px solid #DDDDDD;
}

*beez_20* テンプレートに付属する nature.css というファイルから。この小さな変更だけで、テーブル全体の外観が破壊されるのは非常に面倒です。また、テンプレートの CSS を変更せずにテーブルのスタイルを変更する方法を見つけることができません。(このモジュールをインストールするこれらのユーザーには変更がなく、私には変更が加えられるという事実のため)。では、Joomla が私の CSS を使用せず、代わりにそれを独自のものでオーバーライドするのはなぜだろうか?

4

1 に答える 1

2

両方のセレクターは完全に異なります。これで行っていることは、joomla がターゲットとjoomla_tablesする場所をターゲットにすることです。tabletrtd

.joomla_tables tr, 
.joomla_tables td {
   border: 0;
   padding: 5px;
}

上記のセレクターは、 class を持つ要素内にネストされているすべてのtrとを選択します。tdjoomla_tables

Joomla はtrtdをターゲットtableにしているため、セレクターを使用すると は削除されますが、境界線table borderと同様に表示されるtdので、私が提供したセレクターを使用するだけで、要素が完全にターゲットになります。

より厳密にするために、使用できます

table.joomla_tables tr, 
table.joomla_tables td {
   /* Styles goes here */
}

注:trボーダーとパディングはありません。ボーダーがあるのtdはです(ボーダーがある場合はボーダーを持つことができますborder-collapse: collapse;

于 2013-09-12T07:14:19.277 に答える