CSS在一个id下选择多个类型

CSS在一个id下选择多个类型,css,Css,我想选择div下的所有th和td。 写一些类似于: #div_id th,td { ... } 不好,因为它选择了所有td-s 我看到了写作的解决方案 #div_id th,#div_id td { ... } 有没有别的办法,这样我就不应该重复“div”id了 谢谢。就CSS而言,没有比你自己的答案更好的了。但是您可以研究或类似的技术,这将允许类似的事情。假设您的代码看起来像这样: <div id="div_id"> <table border="

我想选择div下的所有th和td。 写一些类似于:

#div_id th,td {
   ...
}
不好,因为它选择了所有td-s

我看到了写作的解决方案

#div_id th,#div_id td { 
   ... 
}
有没有别的办法,这样我就不应该重复“div”id了


谢谢。

就CSS而言,没有比你自己的答案更好的了。但是您可以研究或类似的技术,这将允许类似的事情。

假设您的代码看起来像这样:

<div id="div_id">
    <table border="1">
        <tr>
            <th>
                Header 1
            </th>
            <th>
                Header 2
            </th>
        </tr>
        <tr>
            <td>
                row 1,
                <p>
                    cell 1
                </p>
            </td>
            <td>
                row 1,
                <p>
                    cell 2
                </p>
            </td>
        </tr>
        <tr>
            <td>
                row 2,
                <p>
                    cell 1
                </p>
            </td>
            <td>
                row 2, 
                <p>
                    cell 2
                </p>
            </td>
        </tr>
    </table>
</div>​​​​​​​​​​​​​​​​​​​​​​
它选择
tr
内部的第一个元素(且仅第一个元素),该元素仅绑定为
th
td

请注意,如果我将规则定义为:

#div_id tr * {
    border: 1px dotted #CCC;
}​
p
标记也会有一个虚线边框


不过,一般来说,只需输入额外的8个字符就更有意义了,因为以后更容易理解您所做的事情。

No;这几乎是唯一的办法。除非您将
id
class
名称分配给您想要定位的单个
td
th
元素。CSS是有限的。这就是为什么出现了替代语法。例如,在SASS中,您可以编写
#div_id
,然后在下一行
th,td
。我假设“第一个元素”是指所有子元素<代码>:P是,所有子女,但没有孙子女等。
#div_id tr * {
    border: 1px dotted #CCC;
}​