0

我想要一个可以删除桌子上所有样式的课程,但我无法让它工作:

这是我到目前为止所尝试的:

<html>
   <head>
      <link type="text/css" rel="stylesheet" href="../../css/css1.css" media="all" />
      <link type="text/css" rel="stylesheet" href="../../css/css2.css" media="all" />
      <link type="text/css" rel="stylesheet" href="../../css/css3.css" media="all" />
      <link type="text/css" rel="stylesheet" href="../../css/css4.css" media="all" />
      <link type="text/css" rel="stylesheet" href="../../css/css5.css" media="print" />

     <style>
        .nostyle table, caption, tbody, tfoot, thead, tr, th, td {
          margin: 0;
          padding: 0;
          border: 0;
          outline: 0;
          font-size: 100%;
          vertical-align: baseline;
          background: transparent;
        }
     </style>

   </head>

   <body>
     <div class="nostyle">
        <table>
            <!-- more table properties -->
        </table>
     </div>
   </body>
</html>

我不知道为什么这不起作用:/

我的代码来自:如何删除表格的所有继承的 CSS 格式?

4

6 回答 6

4

你有#nostyle,但它应该是.nostyle。句点用于classes,主题标签用于ids。我将替换#nostyle table, caption, tbody, tfoot, thead, tr, th, td*将这些样式应用于文档中的所有内容。

于 2013-10-07T21:18:08.733 回答
1

请注意,您的选择器专门选择.nostyle table,但选择 anythtd其他。要解决这个问题,它应该看起来像.nostyle table, .nostyle caption, .nostyle tbody ....

目前,如果您的任何 CSS 文件中有更具体的选择器,它可能会否决除表格本身之外的每个元素的通用 CSS。

此外,一些建议,学习使用 FireBug 或任何浏览器的内置开发工具来检查每个元素上存在哪些样式并阅读它们的来源。它确实可以帮助您自己解决此类问题。

于 2013-10-07T21:24:16.517 回答
0

您需要的是创建一个仅适用于具有特定类的表的 css 规则。代替:

table { ... }

利用:

.table-styled {
     ...
}

.table-styled td {
     ...
}

因此,如果您需要清除样式,则仅取决于删除.table-styledtable 元素的类。

于 2013-10-07T21:23:17.080 回答
0

您真的应该考虑使用标准 CSS 重置之一(请参阅此处的流行重置http://www.cssreset.com/

只需将重置文件作为第一个链接样式表包含在内。

这些不仅包含表格样式(您在规则中遗漏了其中一些),还包含其他元素的样式。这为您提供了关于 CSS 的更可预测的跨浏览器开发体验。

于 2013-10-07T21:18:10.297 回答
0

任何一个,

将 div 'class="NoStyle"' 更改为 'id="noStyle"'

或者

将CSS更改为

.nostyle table, caption, tbody, tfoot, thead, tr, th, td { etc...

您正在尝试将 ID 样式应用于 class 。. .

于 2013-10-07T21:18:57.220 回答
0

获得“没有任何样式的表格”的唯一方法是使用没有任何可能影响它的 CSS 的表格。

在您的代码中,您不会使用style元素删除任何样式,而是添加样式。例如,在td元素上将填充设置为零会更改常见(或多或少推荐)浏览器默认值的呈现。所以你会得到一张风格的桌子。

如果外部样式表包含可能影响表或其后代的设置,那么您需要删除这些设置或link元素。

如果您实际上是想问如何使表格的呈现变得简单(即使用简单样式),看起来,那么这是一个新问题,您应该定义您认为“简单”的内容(这将是工作的一半以上)。

于 2013-10-07T21:32:55.873 回答