4

DITA Open Toolkitは、HTMLに公開するときに、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属性を削除しない限りそうではありません。私は本番ではできません。

4

4 に答える 4

2

で簡単に遊んだことがあり<table frame="border" rules="all">ます。重要なのは、次のように別の境界線で上書きすることです。

table {
    border: none;
    border-collapse: collapse;
}
    td {
        border: 1px solid silver;
    }

border-color境界線を完全に削除する必要がある場合は理想的ではありませんが、ページの背景に一致させることができると思いますか?

于 2010-05-24T15:16:29.327 に答える
2

ドキュメントの読み込み時にjQueryのremove属性を使用して、古い属性をすべて一緒に削除します。

api.jquery.com/removeAttr

于 2010-05-24T14:38:23.970 に答える
1

border-color当てはまるようです。

于 2010-05-24T14:42:09.660 に答える
0

たぶん、FireBug Inspect Elementを使用すると、CSSプロパティを検出し、Firefoxでそれをターゲットにすることができます(手順はこちら)。

コードの例を投稿できますか?

于 2010-05-24T14:34:52.743 に答える