0

before疑似セレクターを使用するスパン要素がいくつかあります。正常に動作します。私の問題は、コンテンツに:before別のフォント スタイルが必要なことです。たとえば、テキスト装飾などは必要ありません。スパン要素で宣言した後に上書きすることはできません。

#MyElement span
{
  text-decoration: underline;
}

#MyElement span + span:before
{
  content: "|";
  text-decoration: none;
}

http://jsfiddle.net/dyJXw/

4

2 に答える 2

3

プロパティは継承されtext-decorationませんが、「強制継承」のように動作します。「インライン要素で指定または伝播すると、その要素によって生成されたすべてのボックスに影響します」。したがって、:before疑似要素に設定がないtext-decoration場合や設定されている場合でも、生成されたコンテンツは親 (実際の要素)のtext-decoration: none影響を受けます。text-decorationspan

ただし、仕様では次のように追加されています。したがって、2 番目のルールを次のように変更して、生成されたコンテンツの下線を取り除きます。

#MyElement span + span:before
{
  content: "|";
  display: inline-block;
}
于 2013-05-22T05:48:52.467 に答える
1

1 つのハックは、疑似要素の を作成することposition:absoluteです。これにより、親コンテンツと一緒に流れず、その属性を継承しません。

デモ

例から:-

#MyElement span {
    text-decoration: underline;
    position:relative;
    margin-left:5px;
}
#MyElement span + span:before {
    content:'|';
    left:-5px;
    position:absolute;
}
于 2013-05-22T05:47:20.853 に答える