Html 为什么';t表>;tr>;td使用子选择器时是否工作?
我真的不明白为什么下面的选择器按预期工作(即获取Html 为什么';t表>;tr>;td使用子选择器时是否工作?,html,css,html-table,css-selectors,Html,Css,Html Table,Css Selectors,我真的不明白为什么下面的选择器按预期工作(即获取td): 但这一条没有: table > tr > td td是tr的后代,后者又是表的后代,但它们也是彼此的子代。因此,我认为>选择器也可以工作 我做了两把小提琴: 儿童: 后代: 为什么选择器不在这里工作?在HTML中,浏览器隐式添加了tbody元素,其中包含tr元素1,因此实际上,tr从来不是表的子元素 因此,您必须这样做: table > tbody > tr > td 当然,如果您自己添加tbody元素,
td
):
但这一条没有:
table > tr > td
td
是tr
的后代,后者又是表
的后代,但它们也是彼此的子代。因此,我认为>
选择器也可以工作
我做了两把小提琴:
为什么
选择器不在这里工作?在HTML中,浏览器隐式添加了tbody
元素,其中包含tr
元素1,因此实际上,tr
从来不是表的子元素
因此,您必须这样做:
table > tbody > tr > td
当然,如果您自己添加tbody
元素,则使用相同的选择器。说明何时隐式添加t正文
,否则:
标记省略
如果tbody
元素中的第一个元素是tr
元素,并且如果该元素前面没有紧接着一个tbody thead
,或者tfoot
元素的结束标记被省略,则可以省略tbody
元素的开始标记
1但是,对于被正确用作应用程序/XHTML+xml
的XHTML文档,情况并非如此。如果您想比教皇更天主教:)以下是我所做的(因为以上这些都不适合我):
1) 创建一个css类,将其分配给GridView的属性(例如:
如果你想说为什么边框宽度(+!重要)和边框样式同时出现,请再次阅读我答案的介绍:)。干杯,祝你好运 我根本没有意识到这一点。您的解决方案非常有效。@pimvdb:没有多少人是这样的-大多数人刚开始学习时只需了解table
、tr
和td
。直到几年前我才知道tbody
我自己(考虑到我第一次从Neopets中获得HTML…)。请注意,这在XHTML中是可选的,不会添加到DOM中(参考:)。最安全的选择是在选择器中使用表tr
。@马克·托马斯:很高兴知道。是跨浏览器的吗?使用XHTML 1.0 Strict的doctype确实会在Chrome中添加tbody
元素。@MarkThomas-table tr
不带子选择器可能是最安全的选择,但如果有嵌套表,则会导致问题。(我并不推荐嵌套表!-不寒而栗-)IE 6-7完全不支持>:@MadBender:IE7支持标准模式下的
。@thirtydot:+1回答你的答案。@BoltClock:我在你(再次)非常快速的回答之前开始写评论。我花了一段时间才找到我的答案,最后搜索到了“难以捉摸”:p你可以用a+1表示10:)
table > tbody > tr > td
<PagerStyle CssClass="pagerNoBorder" />
.pagerNoBorder > td > table > tbody > tr > td
{
border-width:0px !important;
border-style:none;
}