11

YUI のリセット CSSの次の行が問題を引き起こしています。

address,caption,cite,code,dfn,em,strong,th,var {
    font-style: normal;
    font-weight: normal;
}

それは私のem斜体ではstrongなく、太字ではありません。大丈夫です。自分のスタイルシートでそれをオーバーライドする方法を知っています。

strong, b 
{
  font-weight: bold;
}

em, i 
{
  font-style: italic;
}

emとの両方のテキストがある場合に問題が発生しますstrong

<strong>This is bold, <em>and this is italic, but not bold</em></strong>

私のルールでstrongは太字にしていますが、YUI のルールでemは再び通常になります。どうすれば修正できますか?

4

10 に答える 10

18

あなたの強力な宣言が YUI の後に来る場合は、それをオーバーライドする必要があります。次のように強制できます。

strong, b, strong *, b * { font-weight: bold; }
em, i, em *, i * { font-style: italic; }

まだ IE7 をサポートしている場合は、追加する必要があります!important

strong, b, strong *, b * { font-weight: bold !important; }
em, i, em *, i * { font-style: italic !important; }

これは機能します-自分の目で確かめてください:

/*YUI styles*/
address,caption,cite,code,dfn,em,strong,th,var {
  font-style: normal;
  font-weight: normal;
}
/*End YUI styles =*/

strong, b, strong *, b * {
  font-weight: bold;
}

em, i, em *, i * {
  font-style: italic;
}
 <strong>Bold</strong> - <em>Italic</em> - <strong>Bold and <em>Italic</em></strong>

于 2008-08-21T14:39:10.810 に答える
7

このルールを使用して、YUI のリセットをオーバーライドします。

strong, b, strong *, b *
{
  font-weight: bold;
}

em, i, em *, i *
{
  font-style: italic;
}
于 2008-08-21T14:46:44.723 に答える
6

YUI reset.css の使用に加えて、YUI base.css も使用すると、クロス ブラウザー ベース スタイルの標準セットがすべて設定されます。

リンク: http://developer.yahoo.com/yui/base/

于 2008-08-21T14:49:52.767 に答える
3

ストック CSS ファイルの先頭に YUI リセットを追加したときに、同様の問題が発生しました。私にとって最善の方法は、単にすべてを削除することであることがわかりました

font-weight: normal;

YUI リセットからの宣言。これが「クロスブラウザー」に影響を与えていることに気づいていません。

私の宣言はすべて YUI リセットの後でしたので、なぜそれらが有効にならなかったのかわかりません。

于 2008-08-21T14:58:44.180 に答える
2

Chris が言ったように、彼らが宗教的に提供する正確な CSS を使用する必要はありません。サーバーにコピーを保存し、必要に応じて編集するだけです。

于 2008-08-21T15:16:54.527 に答える
2

リセットされたスタイルの後にスタイルが読み込まれる限り、それらは機能するはずです。これは何のブラウザですか?私自身も同様の方法で作業しており、この問題に遭遇していないため、テストに問題があるのではないかと思います。

于 2008-08-21T14:39:43.023 に答える
2

リセット スタイルシートは、ベースとして使用するのが最適です。em や strong をリセットしたくない場合は、スタイルシートから削除してください。

于 2008-08-21T15:13:15.627 に答える
1

YUI ファイルのハッキングを伴うものは避けることをお勧めします。将来、外部ライブラリを更新できるようにする必要があります。サイトが編集されたバージョンに依存している場合は、うまくいかない可能性があります。これは、サードパーティのライブラリを使用する場合の一般的な良い方法だと思います。

だから私はこの答えがより良いものの中にあると思った

YUI reset.css の使用に加えて、YUI base.css も使用すると、クロス ブラウザー ベース スタイルの標準セットがすべて設定されます。

于 2008-08-21T15:56:58.657 に答える
0

私は理想的な解決策があると思いました:

strong, b 
{
  font-weight: bold;
  font-style: inherit;
}

em, i 
{
  font-style: italic;
  font-weight: inherit;
}

残念ながら、Internet Explorer は「継承」をサポートしていません。:-(

于 2008-08-21T15:35:51.407 に答える
0

あなたの言っていることがわかります。次のような CSS ルールを追加できると思います。

strong em { font-weight: bold; }

また:

strong * { font-weight: bold; }
于 2008-08-21T18:32:40.703 に答える