2011-01-23 4 views
4

Кто-нибудь слышал об ошибке, которая возникает с IE8 при применении высоты в процентах к html и телу с помощью CSS? Я вижу белый фон, когда должен использоваться шаблон плитки.IE8 Height 100% Ошибка

html, body { 
    margin: 0; 
    padding: 0; 
    height: 100%; 
} 

body { 
    background-color: #666; 
    background-image: url('../images/body/bg_pattern.gif'); 
} 
+0

Лично мне нужно больше деталей. Ссылка на живую страницу была бы удивительной или примером [JS Bin] (http://jsbin.com/), показывающим ошибку. – thirtydot

+0

Позвольте мне перефразировать этот комментарий: [нет ничего плохого] (http://jsbin.com/ewupe3) с кодом, опубликованным в IE8. Требуется больше контекста! – thirtydot

ответ

3

IE8 интерпретирует элемент высоты ближе к стандартам, чем IE7. Заявление

`Высота: 100%

довольно много игнорируются. Процентные высоты основаны на высоте их родительского элемента. Если родительский элемент не имеет явной высоты, процент игнорируется и устанавливается на «Авто». Об этом можно узнать по телефону w3.org.

Если страница, которую вы показываете, пуста, тело будет иметь высоту 0, и вы увидите фон по умолчанию.

+0

Итак, что является родителем html и body? Страница имеет контент, поэтому высота не должна быть 0. –

+0

@ Джулиан Маорс, родителя нет. Вы плаваете ваши дочерние элементы? Это также может вызвать эту проблему. Кроме того, вам нужно добавить repeat-x и repeat-y к вашему фону? –

+0

Я ожидаю, что шаблон будет повторяться вдоль обеих осей, используя поведение по умолчанию. –

2

Чтобы предотвратить генерируемый height:0, когда вы плавающие дочерние элементы, установите

overflow:hidden; 
position: relative; 

на родителя.