1

次のようなSASSコードがあります:

li {
  &:last-child, &.last-child {
    color: red;
  }
}

そしてHTMLコード:

<ul>
    <li class="last-child">Hello there!</li>
</ul>

上記のコードは IE8 では機能しません。IE8 が :last-child をサポートしていないことはわかっています。この目的のために .last-child を定義しました。

SASSコードをこれに編集すると:

li {
  &:last-child {
    color: red;
  }

  &.last-child {
    color: red;
  }
}

現在、すべてが機能していますが、コードの重複が発生しています。

with JS機能でIE8用の.last-childを追加していますが、関係ないと思います。

http://codepen.io/anon/pen/LFGAr

4

1 に答える 1

2

ここでの問題は、サポートされていないセレクターをサポートされているセレクターと組み合わせることはできないということです。ブラウザルール全体を削除する必要があります。仕様を参照してください。

JS を使用してクラスを追加しているため、IE8 でサポートされていないという単純な理由から、.last-childそのクラスを使用して の使用を控えるのが最も簡単な場合があります。:last-child後で IE8 のサポートを使用:last-childしたり削除したりする場合は、当面はコードの重複に対処する必要があります。

于 2013-09-21T19:01:57.110 に答える