3

以下は私のhtml構造です

<div class="footerMenu">
   <ul>
     <li>Home</li>
     <li>About</li>
     <li>Feedback</li>
     <li>Contact us</li>        
   </ul>            
</div>

しかし

.footerMenu li:last-child { } 

セレクターは IE8 では機能しないようです。しかしhttp://msdn.microsoft.com/en-us/library/cc351024%28VS.85%29.aspxは、疑似セレクターがサポートされていることを示しています。

4

7 に答える 7

27

あなたはそれを間違って読みました。それはIE8ではサポートされていないと言っています:

IE7 と IE8 でサポートされているを見て:first-childいて、同じことが当てはまると思っていたら、:last-child驚きです! そうではありません。

:first-childは CSS2 セレクターですが:last-child、CSS3 でのみ導入されたため、Microsoft は IE8 での CSS2.1 準拠のみを目指していたため、IE8 以降までは気にしなかったよう:last-childです。

要素が 4 つしかないことがわかっている場合はli、隣接する兄弟セレクターを使用して 4 番目の要素に到達できるはずですli

.footerMenu li:first-child + li + li + li
于 2012-05-29T13:53:34.587 に答える
2

他の人の回答に基づいて構築するには、javascript を使用してギャップを埋めることもできます。selectivizr は、最後の子サポートを追加する良い例です。

http://selectivizr.com/

于 2012-05-29T13:56:02.693 に答える
1

あなたが提供したリンクは、IE8ではサポートされていないことを示しています... IE9 +のみ。最後の子IE8をグーグルで検索すると、同様のクエリが多数表示されます。

于 2012-05-29T13:53:36.717 に答える
1

どこでそれを読みましたか。:first-childIE7 までサポートされています:last-childが、IE9 以降です。

いいえ、そうではありません。

(便宜上、ヘッダーを下に移動しました)

于 2012-05-29T13:54:10.450 に答える
0

そのようなものを使用してみてください:

.footerMenu li {background-color: expression(this.previousSibling==null?'red':'green');}
于 2012-05-29T14:00:47.213 に答える
0

IE8が最後の子をサポートしていないという他の答えは正しいです。ただし、特定の問題を解決するには、a) 手動で最後にクラスを追加するか、<li>b) これはメニューであり、おそらく内部にリンクがあり、最後のリンクを属性セレクターでターゲットにしますが、これは機能します。 IE8で。何かのようなもの

.footermenu a[href="contact.html"] { ... }
于 2012-05-29T13:55:41.503 に答える
0

私はそれが古いことを知っていますが...それを行う簡単な方法があります:

変更が必要な場合は、次のようにします。

<li style="yourstyle;">...</li>

于 2014-06-18T23:28:41.153 に答える