html - 如何使用 CSS 覆盖 HTML "rules"属性?

标签 html css dita dita-ot

当发布到 HTML 时,DITA Open Toolkit 会自动施加一些内联表属性,包括 frame="border"和 rules="all"。

我需要使用单元格的 CSS 样式覆盖此“规则”属性,虽然我可以在 IE 和 Chrome 中获得所需的结果,但 Firefox 将纯黑色网格线放在表格中并拒绝就此事做出让步。

显然我不能编辑 HTML,公司政策是不能编辑 XSLT,那么我如何才能单独使用 CSS 删除这些网格线?

我尝试了 border-xxxxxx 样式的各种巧妙组合,并给了它们 !important 声明但没有效果。

HTML 说...

<table cellpadding="4" cellspacing="0" frame="border" border="1" rules="all">
 <thead>
    <tr>
      <th class="cellrowborder">Type </th>
      <th class="cellrowborder">Comment </th>
    </tr>
 </thead>
   <tbody>
    <tr>
      <td class="cellrowborder">Caution </td>
      <td class="cellrowborder">Think twice. </td>
    </tr>
    <tr>
      <td class="cellrowborder">Attention </td>
      <td class="cellrowborder">Be careful. </td>
    </tr>
    <tr>
      <td class="cellrowborder">Danger </td>
      <td class="cellrowborder" >Be scared. Be very scared. </td>
    </tr>
   </tbody>
</table>

CSS 说

table {border: 1px solid black;
 font-family: Arial, Helvetica, sans-serif; 
 border-collapse: collapse; 
 font-size: 9pt;
 margin-top: 1em;
 margin-bottom: 1em;
 padding: 4px;}

tr {border: none;}

.cellrowborder {border: none;}

所以虽然它在 IE 中看起来像我期望的那样,但它在 Firefox 中却没有,除非我删除 HTML 中的那些 frame/border/rules 属性。我不能在生产中。

最佳答案

在文档加载时使用 jQuery 的删除属性来一起删除旧属性。

api.jquery.com/removeAttr

关于html - 如何使用 CSS 覆盖 HTML "rules"属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2897692/

相关文章:

javascript - 如何去掉 JavaScript 代码中文本框中的 NaN?

jquery - 你如何构建这个?

javascript - CKEditor固定文本区域范围

html - .htaccess 使用别名 url 重定向

javascript - <span> jQuery .click() 不工作

android - iPhone 提交按钮未显示正确的 CSS 装饰

xml - 哪种 DITA 元素可用于嵌入 YouTube 视频?

html - 嵌套 flexbox 容器宽度的不同浏览器行为

c# - 如何查找具有特定属性的XML标记(在C#中)

xml - 在 XSL 文档中添加外部图形的相对路径?