html - CSS 类适用于表格内部,但不适用于表格本身

标签 html css

下面是一个简单的 CSS 代码,但我无法弄清楚为什么它不起作用。

<!DOCTYPE html>
<html>
<head>
<style>
.border-on * {
    border: 1px solid black;
}
</style>
</head>
<body>
  <table class="border-on">
    <tr>
      <th>Firstname</th>
      <th>Lastname</th> 
      <th>Age</th>
    </tr>
    <tr>
      <td>Jill</td>
      <td>Smith</td>
      <td>50</td>
    </tr>
  </table>
  </body>
</html>

CSS 样式适用于 td 和 th,但不适用于表格!所以表格看起来像这样 NOT OK

当我再次将相同的样式添加到表选择器时,它工作正常

<table class="border-on" style="border: 1px solid black">

OK

我有不同的表,因此我需要使用类来定义每个表。

最佳答案

* 是一个通用选择器,代表“所有子对象”,但不代表对象本身。我修改了您的 CSS 以包含表格本身。

.border-on,
.border-on * {
    border: 1px solid black;
}
  
  <table class="border-on">
    <tr>
      <th>Firstname</th>
      <th>Lastname</th> 
      <th>Age</th>
    </tr>
    <tr>
      <td>Jill</td>
      <td>Smith</td>
      <td>50</td>
    </tr>
  </table>

关于html - CSS 类适用于表格内部,但不适用于表格本身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55656192/

相关文章:

Javascript:单击 div/form 中的按钮不执行针对它的 javascript?

javascript - 在 Jscript 弹出窗口中显示 PHP 结果

html - 表格边框垂直和水平不相交

html - Vue.JS 不读取 json 数据

javascript - ResponsiveSlides.js 全屏背景图片

javascript - 如何根据 jquery 中的选定选项卡交换选项卡名称

html - 保持 div 高度与已旋转的文本一致

javascript - 单击后将div重置为原始位置

html - 悬停图像时更改文本不透明度

http - 如何在不同的方案 (http/https) 下访问 HTML5 session 存储