画面に div の内容を表示し、ウィンドウの高さに収まるように、overflow <div>
:hiddenを使用しています。height:100%
これは Chrome と Safari で動作します。
overflow:hidden
IE9 は私の divを尊重しないheight:100%
ため、div を展開してコンテンツを表示するだけです。
私のページには、次のDoctypeがあります
<!DOCTYPE HTML>
これは、最新の規格に準拠していることを示す必要があります。
Doctype を完全に削除すると、Doctype が指定されていないためにフォントが大きすぎることを除いて、すべてのブラウザーですべて正常に動作します。
これが起こっている理由は何ですか?html および body タグは、css スタイルシートで height:100% として指定されています
<div style="overflow:hidden;height:100%">
content too tall to fit height of the screen, so a scroll bar is added. In IE9 it doesn't work because it just extends the height of the DIV
</div>
編集:IE9で問題を完全に再現できる完全なHTMLを含めました
<!DOCTYPE html>
<html>
<head>
<style>
* { /* Resetting the defaults */
margin: 0;
padding: 0;
}
html, body { /* Assigning Height To Containers First */
height: 100%;
}
table
{
height:100%;
width:100%;
border-collapse: collapse
}
.headerRow
{
height:50px;
}
.sidePanelTd
{
}
.sidePanelDiv
{
overflow:auto;
height:100%;
}
.row2
{
}
</style>
</head>
<body style="background-color:White;overflow:auto">
<table border=0 cellpadding=0 cellspacing=1 id="mainTable">
<tr class="headerRow">
<td valign=top colspan=2>Header
</td>
</tr>
<tr class="row2">
<td>
td 1
</td>
<td class="sidePanelTd">
<div class="sidePanelDiv">
td 2 content <br>too <br>tall <br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br>to fit height of the screen,
so a scroll bar is added. In IE9 it doesn't work because it just extends
the height of the DIV
</div>
</td>
</tr>
</table>
</body>
</html>