Я боролся с этим в течение многих лет. То, что я хочу, это:
- Div 100% высоты окна, 50% ширины, слева = 0%, красный
- Div 100% высоты окна, 50% ширины, слева = 50%, зеленый
- Div 100% высоты окна, ширина 800px, по центру по горизонтали, синий
Таким образом, первые два элемента div образуют двухтональный фон, на котором центрируется третий элемент div (содержащий все содержимое страницы). У меня почти получилось так, что он работал с двумя второстепенными div-элементами следующим образом:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml;charset=utf-8">
<title>Test</title>
</head>
<body style="background-color:black">
<div style="position: absolute; width: 50%; height: 100%; top: 0%; left: 0%; z-index:-1;background-color: red"></div>
<div style="position: absolute; width: 50%; height: 100%; top: 0%; left: 50%; z-index:-1;background-color: green"></div>
</body>
</html>
Однако это не работает на FF3. Насколько я могу судить, комбинация z-order: -1 и position: absolute заставляет div отображаться позади элемента body (странно, но именно это показывает Firebug).
Может кто-нибудь сказать мне, как этого добиться? Не допускается JavaScript. Я подумал, что один из вариантов - установить красный цвет фона тела, а затем нужен только один дополнительный div для зеленой части, но я не уверен, что это поможет?
РЕДАКТИРОВАТЬ: SO не показывает мой тег DOCTYPE. Предложения с этим не работают.