当一个人发布到HTML时,DITA Open Toolkit会自动造成一些内联表属性,包括frame =“border”和rules =“all”。
我需要使用单元格的CSS样式覆盖这个“规则”属性,虽然我可以在IE和Chrome中获得所需的结果,但Firefox会在表格中添加纯黑色网格,并拒绝就此事做出让步。
显然我无法编辑HTML,公司政策是不编辑XSLT,那么如何仅使用CSS删除这些网格线?
我尝试了各种狡猾的border-xxxxxx样式组合并给出了它们!重要的声明没有效果。
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属性。哪个我不能生产。
答案 0 :(得分:2)
在文档加载中使用jQuery的remove属性来一起删除旧属性。
api.jquery.com/removeAttr
答案 1 :(得分:2)
我与<table frame="border" rules="all">
进行了快速游戏。关键似乎是用另一个边框覆盖它,例如:
table {
border: none;
border-collapse: collapse;
}
td {
border: 1px solid silver;
}
如果您需要完全删除边框,这是不理想的,但我想您可以将border-color
与页面背景相匹配?
答案 2 :(得分:1)
border-color
似乎适用。
答案 3 :(得分:0)
使用FireBug Inspect Element可以帮助您检测CSS属性,并允许您在Firefox中定位它(instructions here)。
您可以发布代码示例吗?