z-index не работает должным образом в FF3, работает в IE & Chrome - PullRequest
0 голосов
/ 26 января 2010

Так что я ожидал проблем с настройкой дизайна моего сайта на IE, но не на FF. Однако после некоторого расследования я сузил его до этого простого контрольного примера.

<head>
<meta http-equiv="Content-Language" content="en-gb" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<title>Test</title>
</head>

<body bgcolor="#ff0000" style="margin:0px">

<div style="position: absolute; width: 50%; height: 100%; top: 0%; left: 0%; z-index:-1;background-color: 96C3FF"></div>
<div style="position: absolute; width: 50%; height: 100%; top: 0%; left: 50%; z-index:-1;background-color: BEC0C2"></div>

<div style="border:solid 10px black; height:50%; width:50%"></div>

</body>
</html>

В Chrome все нормально, а изменение поля тела делает его похожим в IE8. Но в FF3 два div не показаны, только черный прямоугольник на красном фоне.

Если я удаляю элемент z-порядка, деления высоты 100% отображаются в FF, но поверх черного деления.

Почему? Причина, по которой я хочу сделать это, не очевидна в этом разобранном примере, но как я могу заставить его работать?

РЕДАКТИРОВАТЬ: У меня нет типа документа. Скопируйте и вставьте в файл точно. Я думаю, это одна из других проблем. Фон является важной частью, 3-й div - это просто нарисовать что-то еще. В IE8 / Chrome вы видите серый / синий фон, в FF3 просто красный фон.

Каким было бы фиксированное решение, включая исправления типа meta / doc?

Ответы [ 2 ]

0 голосов
/ 26 января 2010

Firefox отображает div, но они не окрашены, потому что ваши цветовые спецификаторы неверны.

<div style="position: absolute; width: 50%; height: 100%; top: 0%; left: 0%; z-index:-1;background-color: 96C3FF"></div>
<div style="position: absolute; width: 50%; height: 100%; top: 0%; left: 50%; z-index:-1;background-color: BEC0C2"></div>

Попробуйте:

<div style="position: absolute; width: 50%; height: 100%; top: 0%; left: 0%; z-index:-1;background-color: #96C3FF"></div>
<div style="position: absolute; width: 50%; height: 100%; top: 0%; left: 50%; z-index:-1;background-color: #BEC0C2"></div>

Обратите внимание на # в цветах.

0 голосов
/ 26 января 2010

Во-первых, вы использовали флаг DOCTYPE при тестировании? Вы должны добавить любой DOCTYPE, который использует ваш сайт, чтобы получить полезные результаты. Добавьте DOCTYPE, и IE начнет действовать как Firefox (при условии, что вы используете правильный тип документа).

Единственное, в чем разница, это не из-за z-index ... Браузеры дают вашей граничной рамке другую высоту. Поместите в него что-нибудь или установите для его высоты не относительное значение, и они начнут выглядеть одинаково (учитывая тип документа, который у меня есть).

Я добавил DTD XHTML 1.0 Transitional doctype для своих тестов.

Я думаю, что Firefox ведет себя правильно. Элементы с -1 z-index не отображаются, потому что они находятся внутри тега body. Кроме того, поскольку ваш тег body не имеет установленной высоты, установка относительной высоты для содержащихся элементов является бессмысленной. Установите фиксированную высоту для тега body или установите для тега html и body значение 100% высоты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...