3

私は:last-childIE8で使用しようとしていましたが、ここでこれに関するいくつかのスレッドを読んだ後、決定しました。だから-私は次善のルートに行きました。それは、jQueryを使用しlast-childてCSSでクラスに追加し、次のことを行いました。

$('.section-header > span:last-child').addClass('last-child');

IE8に適切なクラスを追加します。しかし、私がそれをスタイリングするとき、それは機能していないようです。これは、ここにあるサイトのいくつかの場所で明らかです(Chromeのような実際のまともなブラウザと比較して):

  • トップナビゲーション、アイテムの最後のborder-rightプロパティを削除しない<li>
  • #top-grid矢印を追加しない(:beforeとを使用:after
  • .section-header適用しないpadding-left両方に指定した:last-child.last-child(jQueryで実行)
  • カレンダー、選択したタブに上部の境界線の色を追加しない

つまり、明らかに矛盾のある領域がかなりあります。私は、「すべてを個別に修正する方法は次のとおりです」ではなく、「IE8について欠けている概念は次のとおりです」を探しています。私はすでにDoctypeを宣言しようとしましたが(別のスレッドがそれについて言及していました)、数時間後、あなたは自分自身を夢中にさせ始めます:)私は本当に正しい方向への微調整をいただければ幸いです。ありがとう!

4

1 に答える 1

3

:last-child問題は、セレクターとセレクターの両方を.last-child同じルールセットにグループ化することです。これにより、IE8はその:last-child部分のためにルールセット全体を無視します。つまり、IE8はあなたの.last-child部分も無視します。

とにかくjQueryを使用してクラスを追加しているので:last-child、セレクターの一部を削除して、すべてのブラウザーで機能させることもできます。

または、スクリプトが無効になっているブラウザーで:last-childルールを表示する場合は、セレクターを分割し、セレクターごとにスタイルルールを複製する必要があります。

于 2012-10-20T13:28:34.587 に答える