IE8 でさらに別の問題に遭遇しました。ページをスクロールすると、破線の境界線がスクランブルして壊れます。
以下は、HTML4 トランジショナルおよび XHTML1 トランジションとしての動作を示す 2 つの w3 有効なページです。
最初の例では、 <input> 要素を追加することで、問題のまったく奇妙な修正を発見しました。そこにあるときはいつでも、境界線は 1 つの部分のままです (「編集」を参照)。
HTML4 トランジショナル:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>VALID HTML4 TR</TITLE>
<STYLE type="text/css">
#box {
float: left;
width: 200px;
height: 2000px;
border-right: dashed 1px black;
}
</STYLE>
</HEAD>
<BODY>
<DIV id="box"></DIV>
<INPUT><!-- REMOVE TO BREAK THE DASHED LINE ON SCROLL -->
</BODY>
</HTML>
XHTML1 トランジショナル:
ここで <input /> マジックはキャストされません。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>VALID XHTML1 TR</title>
<style type="text/css">
#box {
float: left;
width: 200px;
height: 2000px;
border-right: dashed 1px black;
}
</style>
</head>
<body>
<div id="box"></div>
</body>
</html>
したがって、
私が必要としているのは、DTD を変更せずに 1 番目と同じように機能する 2 番目の例です。どんなアイデアでも大歓迎です。
ありがとう
編集:
HTML4 の例の <input> マジックは、同じ IE8 ビルドを使用している場合でも、すべての人に有効というわけではありません。
点線スタイルでも同じ問題。
border-width > 1px の場合、境界線は壊れません。