私はページ付けのようなものに取り組んでいます。これは、単にdiv内に浮かんだアンカータグの束です。現在、IE7では、空のテキストノードをあちこちにランダムに挿入しているため、レイアウトが壊れています。
結果:
さまざまなページでどのように表示されるかの例。空のテキストノードに注意してください。きちんとね?
CSS:
.nwsPaging {
width:200px; /* Have also tried fluid size */
height:30px;
display:block; }
.nwsPaging a {
width:auto; /* Have also tried fixed size */
margin:0 0 0 1px;
padding:2px 8px;
border:solid 1px #ccc;
background:#eee;
float:left;
line-height:20px;
display:block;
zoom:1;
vertical-align:top; /* Should not do any difference */ }
.nwsPaging a:hover, .nwsPaging .isActive {
background:#D150A1;
color:#fff;
display:block; /* Should be redundant, but just in case */
zoom:1; }
ご覧のとおり、コンテナとフロートタグの固定幅の設定や、hasLayoutの指定など、さまざまなことを試しました。.isActiveクラスには特別なことは何もありません。クラスを追加しなくても、違いはありません。
別のシステムでもまったく同じ問題が発生しましたが、どのように修正したか思い出せません。私はコードにアクセスできず、検査官は助けになりません。
ボーナス情報:このサイトは、正規化リセットCSSを使用するHTML5Boilerplate上に構築されています。
編集: マークアップは非常に単純で、タグは動的に作成されますが、空のテキストノードを作成する可能性のある改行があってはなりません。
マークアップを解析済みとして表示する方法:
<div class="nwsPaging clearfix">
<a href="foo">Previous</a>
<a href="bar">1</a>
<a href="bar" class="isActive">2</a>
<a href="bar">3</a>
<a href="baz">Next</a>
</div>