検索でもたくさん引っかかる割と有名なバグ。
今更という気もするが、自分も遭遇したため、現象と解決手段をまとめておく。
発生条件(AND)
現象が発生するコードと画面キャプチャ。
[CSS]
常に発生するわけでもなく、画面の再描画で正常に表示されたりする。
開発者ツールを使うと再描画が走るので調査できなかったり・・・
「IE10 を使わない」が理想だけど、実際はドキュメントモードを変更または CSS で何とかすることになると思う。
上のコードに対する CSS による解決例。
※ CSS ハックなどで、IE10 にだけ下記を適用
(全ブラウザに対して適用してもコードが特殊になるだけで害はないはず・・)
IE お得意の条件付きコメントは IE10 から廃止されているため、IE10 のみ適用する場合は CSS ハックまたは javascript に頼るしかない。
まだバグが残ってるのに・・・
今更という気もするが、自分も遭遇したため、現象と解決手段をまとめておく。
発生条件(AND)
- IE10 実機
- ドキュメントモード: 標準 / Quirks / Internet Explorer 9 標準 / Internet Explorer 8 標準
- table に { border-collapse: collapse; } を指定
- td と th に 0 でない border-bottom を指定
- td または th に 2 以上の colspan を指定
現象が発生するコードと画面キャプチャ。
[CSS]
table { border-collapse: collapse; width: 400px; }
td, th { border: 1px solid black; }
[HTML]
<table>
<tr>
<th>col</th>
<th>col</th>
<th>col</th>
</tr>
<tr>
<td colspan=3>col3</td>
</tr>
</table>
[画面キャプチャ]
常に発生するわけでもなく、画面の再描画で正常に表示されたりする。
開発者ツールを使うと再描画が走るので調査できなかったり・・・
解決手段
発生条件からどれか 1 つを取り除けば、現象は発生しない。「IE10 を使わない」が理想だけど、実際はドキュメントモードを変更または CSS で何とかすることになると思う。
上のコードに対する CSS による解決例。
※ CSS ハックなどで、IE10 にだけ下記を適用
(全ブラウザに対して適用してもコードが特殊になるだけで害はないはず・・)
/* カラムの下線を 0 に指定 */
td, th { border-bottom: 0 none; }
/* 代わりに table の下線を指定 */
table { border-bottom: 1px solid black; }
/* または、tr でも可能 (tr の border は IE8以降で有効) */
tr { border-bottom: 1px solid black; }
IE お得意の条件付きコメントは IE10 から廃止されているため、IE10 のみ適用する場合は CSS ハックまたは javascript に頼るしかない。
まだバグが残ってるのに・・・
0 件のコメント:
コメントを投稿