Make alternating CSS table row style work in Internet Explorer

 ̄綄美尐妖づ 提交于 2019-12-28 13:23:33

问题


I use this CSS code to display a database output in rows where the colors repeat in every 2nd row

tbody tr:nth-child(2n) td, tbody tr.even td {  
    background: none repeat scroll 0 0 #E5ECF9;  
}

If I open it in my IE it won't work. Any advice?

I am using IE 8.


回答1:


IE8 does not support the :nth-child CSS property. You can make it work in IE8 with this script:

https://github.com/roylory/ie7-js

How to use it:

You can Include it via conditional comments, e.g.:

<!--[if lte IE 9]>
<script src="IE9.js"></script>
<![endif]-->

The script will only load in IE9 and below, other browsers do not see it.

Live demo: https://jsbin.com/koyahe/edit?html,css,output

(This demo should work in all versions of IE.)




回答2:


I like the answer above, but alternate row colours doesn't seem to work if a document isn't refreshed.

Try jQuery too:

$("tbody tr:even td").css("background-color", "lightgray");

Link:
http://docs.jquery.com/Tutorials:Zebra_Striping_Made_Easy




回答3:


Which version of IE are you using? the :nth-child() CSS won't work in old versions of IE.

IE6, IE7, IE8 Fail

IE9 (works)



来源:https://stackoverflow.com/questions/4742450/make-alternating-css-table-row-style-work-in-internet-explorer

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!