我在IE8中设置TH
最后一个孩子的样式时遇到了困难。
请在这里找到小提琴。 http://jsfiddle.net/archanabr05/yokLbocx/
问题是:我想在标题单元格之间创建一个白色边框,但要避免使用最后一个标题单元格。
所以我用过:
CSS:
th:last-child {
border-right:none;
}
我知道这在IE8中不起作用,我们是否有任何解决方案可以解决它,jquery也适合我。
我没有固定列。因此我无法根据固定数量的单元格进行样式化。
答案 0 :(得分:3)
您可以使用Selectivizr来执行此操作。 Selectivizr是一个为旧浏览器模拟CSS3伪类的实用程序,如I6 / 7/8
答案 1 :(得分:3)
使用:first-child
- http://caniuse.com/#feat=css-sel2
.table{
border-spacing: 0;
border:2px solid #e5e5e5;
border-collapse: collapse;
}
tr th{
}
th{
padding:30px;
background:#e5e5e5;
border-left: 2px solid #fff;
}
th:first-child{
border-left: none;
}
td {
border-right: 2px solid #e5e5e5!important;
border-top: 1px solid #e5e5e5!important;
padding: 30px;
background:#fff
}

<table class="table">
<tr>
<th>Header 1</th>
<th>Header 2</th>
<th>Header 3</th>
</tr>
<tr>
<td>Content 1</td>
<td>Content 2</td>
<td>Content 3</td>
</tr>
<tr>
<td>Yes</td>
<td>Yes</td>
<td>No</td>
</tr>
</table>
&#13;
答案 2 :(得分:1)
:first-child
(which is a nice compatible solution)的另一种替代方法是使用相邻边框的相邻兄弟选择器(+
符号及其has excellent support)。您的代码将如下所示:
.table{
border-spacing: 0;
border:2px solid #e5e5e5;
border-collapse: collapse;
}
tr th{
}
th{
padding:30px;
background:#e5e5e5;
}
th + th{
border-left:2px solid #fff;
}
td {
border-right: 2px solid #e5e5e5!important;
border-top: 1px solid #e5e5e5!important;
padding: 30px;
background:#fff
}
<table class="table">
<tr>
<th>Header 1</th>
<th>Header 2</th>
<th>Header 3</th>
</tr>
<tr>
<td>Content 1</td>
<td>Content 2</td>
<td>Content 3</td>
</tr>
<tr>
<td>Yes</td>
<td>Yes</td>
<td>No</td>
</tr>
</table>
答案 3 :(得分:0)
使用jQuery:
ImageRequest
答案 4 :(得分:0)
你可以做一个简单的黑客攻击。
在最后一个中放入一个类名,并在ie.css中写入它的css(仅在IE中加载)
要仅在IE中加载CSS文件,您可以使用这样的条件语句。
<!--[if lte IE 9]>
<link rel="stylesheet" href="./css/ie.css">
<![endif]-->
CSS可以是这样的。
th.last-child {
border-right: none;
}
因此,通过这种方式,您无需加载另一个第三方jquery插件来执行相同的操作。