【问题标题】:select nth column in a table选择表中的第 n 列
【发布时间】:2016-11-03 03:16:39
【问题描述】:

我想改变下面table中第三个tdwidth

#mytable table > tr > td:nth-child(3) {
  width: 600px !important;
}
<table id="mytable">
  <tr>
    <td></td>
    <td></td>
    <td></td>
  </tr>
</table>

你能帮帮我吗

【问题讨论】:

  • #mytable table 将不起作用,因为它试图选择作为 id 为 mytable 的元素的子表。你只需要#mytable
  • 此外,大多数(如果不是全部)浏览器会在 &lt;tr&gt; 元素周围插入一个 &lt;tbody&gt;,因此使用 tableSelector &gt; tr 也可能会失败。
  • jsfiddle.net/nkgyjbxu 请查看jsfiddle
  • 简单的#mytable tr td:nth-child(3) 不起作用吗?
  • @ThillaiNarayanan 你的小提琴很有趣。您将 CSS 放在 Javascript 框上。这是编辑后的版本:Fiddle

标签: html css css-selectors html-table


【解决方案1】:

两个错误:

  1. 您的选择器:#mytable 已经是 table 并且没有 table 子级,
    所以只使用#mytable
  2. table &gt; tr 中的&gt;不起作用,因为浏览器默认添加了tbody
    因此trtbody 的直系子级

#mytable{
  width:100%;
}
#mytable td:nth-child(3) {
  width: 600px; background:#eee;
}
<table id="mytable">
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
  </tr>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
  </tr>
</table>

【讨论】:

    【解决方案2】:

    #mytable table 表示 CSS 正在尝试查找 ID 为 mytable 的元素,并在该元素中查找 &lt;table&gt;。你也不需要那么具体;以下将实现您的目标:

    #mytable tr td:nth-child(3) { width: 600px; }

    【讨论】:

      【解决方案3】:
      • 当您的table 已经有ID #mytable 时,您选择table 作为#mytable 的子代

      所以只选择#mytable

      • 您正在使用 table &gt; tr ,但正如 @Roko 提到的浏览器添加 tbody 以更正代码以便从中创建 DOM 层次结构。

      因此,您甚至不需要使用tr 来选择td,因为您有table 作为父级来选择它。

      注意

      你也可以使用nth-of-type

      #mytable {
        width: 100%;
      }
      #mytable td:nth-of-type(3) {
        width: 600px;
        background:red
      }
      <table id="mytable">
        <tr>
          <td>1</td>
          <td>2</td>
          <td>3</td>
          <td>4</td>
          <td>5</td>
          <td>6</td>
        </tr>
      </table>

      【讨论】:

        【解决方案4】:

        这应该视觉上对你来说更清楚

        看到这个Fiddle

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-07-30
          • 1970-01-01
          • 2018-10-07
          • 1970-01-01
          • 1970-01-01
          • 2016-07-01
          • 1970-01-01
          相关资源
          最近更新 更多