私のCSS:
.reviewRow
{
clear:both;
padding-top:0;
margin-top:0;
}
.reviewBlock
{
float:left;
height:100%;
padding-top:0;
margin-top:0;
border-top: 1px solid #444;
border-left: 1px solid #444;
}
.reviewCaption
{
font: normal normal normal 6pt verdana;padding-left:0.03in;
}
.reviewText
{
font: normal normal normal 8pt verdana;
height:20px;
}
私のHTML:
<body>
<div style="HEIGHT: 30px" class=reviewRow>
<div style="WIDTH: 125px" class=reviewBlock>
<div id=reviewBeneficiaryType class=reviewText>This text is too big to fit inside a 30px height cell, so I want it to get bigger.
</div>
</div>
</div>
</body>
上記のHTMLは、問題のあるWebページから除外されています。動的に生成されるため、内部のテキストは短い場合と長い場合があります。通常、テキストが大きすぎる場合を除いて、これによりテキストが内部にある高さ30ピクセルのボックスがレンダリングされると予想されます。大きすぎる場合、ボックスはテキストに合わせて拡張されます。
問題は、このHTMLが別のページに表示されると、テキストがボックスから「こぼれる」ことです。何が問題なのかわかりません。さらに複雑なことに、「高さ」スタイルを削除すると、実際にはボックスの高さが高くなります。
MDNドキュメントを見てきました。デフォルトでは、CSSの「オーバーフロー」の値は「表示」であることが明確に示されています。この場合、テキストは「こぼれる可能性があります」ですが、どのような状況でもスクロールバーを表示したくありません。
含まれている要素の「位置」CSSを変更しようとしましたが、何も実行されないようです。
ここで問題を引き起こしている可能性があるのは何ですか?
更新問題の原因と思われるものを見つけました!これはDoctype宣言です!これを抜粋したページからdoctype宣言を削除すると、正常にレンダリングされます。なぜですか?