为什么table> tr> td在使用子select器时工作?
我真的不明白为什么下面的select按预期工作(即得到td
):
table tr td
但是这个不是:
table > tr > td
td
是tr
的后代, tr
又是table
的后代,但他们也是彼此的孩子。 因此,我认为>
select器也会起作用。
我做了两个小提琴:
- 孩子: http : //jsfiddle.net/brLee/
- 后裔: http : //jsfiddle.net/brLee/1/
为什么不是>
select器在这里工作?
在HTML中,浏览器隐式地添加一个tbody
元素,在其中包含tr
元素1 ,所以实际上, tr
永远不是table
的子元素。
因此,你必须这样做:
table > tbody > tr > td
当然,如果你自己添加一个tbody
元素,你可以使用相同的select器。 该规范解释了何时隐式添加一个tbody
:
标记遗漏
如果
tbody
元素中的第一个元素是一个tr
元素,并且元素之前没有tbody thead
或tfoot
元素的结束标记被省略,则可以省略tbody
元素的开始标记。
1 但是,对于正确地作为application/xhtml+xml
XHTML文档,情况并非如此。
如果你想比教皇更天主教徒:)这是我所做的(因为以上都没有为我工作):
1)创build一个CSS类,将其分配给GridView的属性(例如:
<PagerStyle CssClass="pagerNoBorder" />
)
2)定义你的CSS类,就像你的浏览器呈现的页码一样(检查浏览器中的元素并查找所有的子select器!)。 就我而言,情况就是这样:
.pagerNoBorder > td > table > tbody > tr > td { border-width:0px !important; border-style:none; }
如果你要说在同一时间为什么边框宽度(+!重要)和边框样式再次阅读我的答案的介绍:)。 干杯和美好的一天!