2

次の属性がある場合:

html {
    text-decoration: none !important;
}

しかし、「ラインスルー」などのテキスト装飾を 1 つ有効にしたかったのです...

これを行うことは可能ですか?どのように?

編集:これがどの html に適用されているかわかりません-ブラウザプラグインを介して動的です...

ありがとう!

4

3 に答える 3

2

次のように、特定の要素でこの属性を指定できます

.decorated {
    text-decoration: line-through;
}

このように、 のtext-decoration値はnone継承されません。

編集

http://jsfiddle.net/mGGnc/はこれを示しています。もちろん、decoratedクラスがHTML要素に追加された場合、これは機能しません。この場合、プロパティ値の継承がないためです。CSS2仕様はこれを説明しています。

于 2012-11-26T06:56:30.603 に答える
1

要素のクラスを個別に作成して、要素inheritedから取得しないようにする場合reset css

このように簡単に目的を達成できます:-

html {
    text-decoration: none;
}

.anchor a {
text-decoration:line-through;
color:red;
}

デモ

于 2012-11-26T07:02:36.473 に答える
0

ルール (属性html { text-decoration: none !important; }ではない) は、別のスタイル シートがルート要素 (要素) にプロパティを設定するかなり架空のケースを除いて、影響を与えませんhtml。一般的な誤解に反して、text-decoration要素は継承されません。ただし、以外の値に設定するとnone、その効果はある意味では継承に似ています。

回答へのコメントで、「これは、すべての装飾を削除するテキスト装飾リセット css です-保持したい 1 つまたは 2 つを除いて-ラインスルーのように」. いつものように、一般的な CSS スタイルシートのリセットは、問題を解決するどころか、問題を引き起こす傾向があります。すべての要素の設定をオーバーライドするには、ユニバーサル セレクター(またはすべての既知および未知の要素のリスト)text-decorationを使用する必要があります。*ただし、プロパティの定義方法により、一部の値を使用する設定をオーバーライドし、他の値をオーバーライドしないようにすることはできません。その値は、noneそれぞれが「装飾」を指定するか、スペースで区切られたキーワードのリストです。そのため、プロパティを特定の値に設定せずに、これらのキーワードの 1 つを否定する方法はありません。

于 2012-11-26T07:58:31.117 に答える