0

私はページ付けのようなものに取り組んでいます。これは、単に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>
4

1 に答える 1

0

これは、実際にはコードの改行が原因である可能性があります。

それらを取り除き、それがまだそれを行うかどうかを確認します。

于 2011-11-23T14:34:42.153 に答える