css后代選擇器很好用,讓我們的工作變的更方便。但有個麻煩,IE8及IE8以下對很多后代選擇器並不兼容。
這六個后代選擇器是比較長用到的:
這時會發現,IE9對這些后代選擇器都兼容。IE8、IE7除了的 :first-child 是兼容的,其他五個都不兼容。
兼容:
<body> <div> <p>aaaa</p> <p>aaaa</p> <p>aaaa</p> <p>aaaa</p> </div> </body>
一、讓第2個p元素變成“藍色”字體.
一般是這樣寫 div p:nth-child(2) { color:blue; }
或者 div p:nth-of-type(2) { color:blue; }
或者 就是給第2個p元素加上class了。
要在IE7,IE8上進行兼容:
第一種方法: div>p:first-child+p { color:blue; }
第二種方法是用Jquery:
if (navigator.appName === 'Microsoft Internet Explorer') { //判斷是否是IE瀏覽器 if (navigator.userAgent.match(/Trident/i) && navigator.userAgent.match(/MSIE 8.0/i)) { $('p:nth-child(2)').css('color','blue');
//$('p:nth-of-type(2)').css('color','blue'); } }
一、讓第2個,第4個p元素變成“藍色”字體.
一般是這樣寫 div p:nth-child(2n) { color:blue; }
或者 div p:nth-of-type(2n) { color:blue; }
要在IE7,IE8上進行兼容:df sasda
if (navigator.appName === 'Microsoft Internet Explorer') { //判斷是否是IE瀏覽器 if (navigator.userAgent.match(/Trident/i) && navigator.userAgent.match(/MSIE 8.0/i)) { $('p:nth-child(2n)').css('color','blue'); //$('p:nth-of-type(2n)').css('color','blue'); } }
:nth-child(odd),:nth-child(odd) 奇數偶數,同樣可以這樣處理。