30

我正在尝试创建一个新的 CSS 来塑造我的详细信息视图。但我无法在 detailsviews 字段行中达到第二个 td。你知道访问 2nd td 吗?

但请想象一下由 detailsview 生成的 belov 代码。

<table>
<thead>
...
</thead>

<tbody>
    <tr>
        <td>Name</td>
        <td><input type='text' id='txtName' /></td>
    </tr>
</tbody>
</table>

4

2 回答 2

70

第一个问题是:你需要支持IE6吗?如果答案是肯定的,那么你不能这样做。如果不是最简单的解决方案可能是:

td + td { ... }

更现代(且支持较少)的是:

td:nth-child(2) { ... }

这假设您不愿意或不能在第二个 td 上放置类或其他标识符,以便您可以更轻松地完成它。

于 2009-05-23T10:38:26.500 回答
5

我建议不要选择一个恰好是连续第二个的字段。更好的方法是将有意义的 css 类分配给字段并选择这些:

<head>
  <style type="text/css" media="screen">
    td.form-value {
      background-color:red;
    }
  </style>
</head>
<tr>
  <td class="form-label">
    Label:
  </td>
  <td class="form-value">
    ...
  </td>
</tr>
于 2009-05-23T10:47:47.247 回答