html - 仅将 css 应用于直接子级

标签 html css

我了解到 > 只会将 css 应用于直接子级。但是我无法在我的案例中使用它。

我有 html 作为

table[id="tbl"] div div > span {
  font-weight: bold
}
<table id="tbl">
  <tr>
    <td>
      <div>
        <div>
          <span>
          outer span
          <div>
          <span>
            inner span
          </span>
        </div>
        </span>
      </div>
      </div>
    </td>
  </tr>
</table>

我想把 outer span 加粗,所以我写了如下的 css

table[id="tbl"] div div > span {
    font-weight:bold
}

但我的两个跨度都以粗体显示。出于某种原因,我必须在不更改 html 的情况下使用 css 或 jQuery 来完成此操作。

最佳答案

内部元素继承了样式规则。因此,您需要覆盖内部元素。此外,只需使用 id 选择器而不是属性选择器。

#tbl div div > span {
    font-weight:bold;
}

#tbl div div > span span{
    font-weight:normal;
}

关于html - 仅将 css 应用于直接子级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39526076/

相关文章:

javascript - 文本作为文本框输入的占位符?

html - 在同一行左右对齐元素的问题

javascript - 如何在单击按钮时更改图像

css - 使用 CSS 将菜单列表定位在文本框下方

html - 无法弹出子菜单

javascript - 如何在 JavaScript 中的另一个 div 中打印月日,以便我可以将它相对定位在这个新的 div 中?

html - 文本未显示或字母被其他字母替换

css - Font Awesome 图标丢失

javascript - 转换为 Canvas 时如何打开详细信息标签

javascript - 当最大高度减小时,最大高度过渡不起作用