Ich versuche, ein einfaches, einspaltiges Layout zu erstellen. Ich möchte, dass die oberen zwei Reihen kleinere, feste Höhen haben. Die dritte Zeile sollte erweitert werden, um den Rest der Seite zu füllen. Hier ist meine aktuelle Quelle:Wie legen Sie die Höhe von Zellen in einer Tabelle fest, die erweitert wird, um das Fenster in IE zu füllen?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style type="text/css">
html, body
{
height:100%;
width:100%;
border:0px;
margin:0px;
}
</style>
</head>
<body>
<table style="width:100%;height:100%;" cellpadding="0" cellspacing="0">
<tr>
<td style="height:50px;background:red;">Header 1</td>
</tr>
<tr>
<td style="height:10px;background:blue;">Header 2</td>
</tr>
<tr>
<td style="background:green;">Content</td>
</tr>
</table>
</body>
</html>
Das funktioniert wunderbar in Safari, Firefox und Opera. In IE6 und IE7 schlägt es jedoch nicht gut. In diesen beiden Browsern werden die ersten beiden Zeilen viel größer gerendert als ihre angegebenen Höhen. Nicht nur das, aber sie ändern sich tatsächlich dynamisch mit der Höhe des Browserfensters. Es ist, als würde IE die konstante Pixelhöhe in eine prozentuale Höhe umwandeln.
Es ist mir wichtig, dass das Browserfenster keine Bildlaufleisten anzeigt, es sei denn, der Inhalt der dritten Zeile ist groß genug, um es zu benötigen. Wenn Sie die Höhe des 3. <td> auf 100% einstellen, werden diese Bildlaufleisten immer angezeigt, da die Höhe dieser Zeile tatsächlich der Höhe der gesamten Tabelle entspricht (sie entspricht 100% des enthaltenen Elements).
Das Entfernen der Doctype-Deklaration und das Zurückkehren zum Quirks-Modus scheint das Problem im IE verschwinden zu lassen, aber ich muss HTML 4.01 als Übergang verwenden, was alle anderen vorhandenen Seiten in dieser Anwendung erwarten.
Aus Neugier, was sind Ihre Gründe für eine 100% -Höhe Layout? –