我正在修改一个古老的网站,该网站采用了表格和组合的方式。 CSS。在任何人说什么之前,切换到纯CSS不是一种选择。
我有这个结构:
table.grid
tr
td
table
tr
td
在CSS中,.grid td
有填充。
似乎.grid td
样式正在应用于内部td(链中最远的那个)。有没有办法告诉.grid td
在该特定表格中仅设置 td
个标记?
(我远离CSS主人,所以如果我在这里咆哮错误的树,请告诉我)
答案 0 :(得分:4)
table.grid > tr > td, table.grid > tbody > tr > td
应该执行您想要的操作 - a > b
指定要应用选择器,b
必须是a
的直接后代。您需要第二种形式,因为许多浏览器都会生成一个tbody。
这不起作用:.grid tr > td
,因为内部表是.grid
的后代。
答案 1 :(得分:3)
>
字符仅用于表示直接后代。
.grid > tr > td { /* style me! */ }
要解决@ bazmegakapa对潜在tbody
的担忧,我会将其更改为:
.grid > tr > td, .grid > tbody > tr > td { /* no worries */ }
答案 2 :(得分:3)
尝试:
table.grid > tr > td
如果你遇到使用thead,tbody,tfoot 的表格,可能会有所帮助
答案 3 :(得分:1)
您需要>
selector。使用table.grid > tr > td
仅适用于td
正下方的table
元素。
答案 4 :(得分:1)
您可以更加具体,只选择td
tr
内的table.grid
.grid > tr > td
答案 5 :(得分:-1)
尝试这样做:
table.grid > tr > td
但我不确定它是否有效。