Jump to content
  • 0

Проблема с нудным браузером IE 6


POMAH
 Share

Question

Здравствуйте!

Такая проблемма, верстаю каркас на div-ах, всё отлично во всех браузерах, кроме упрямого IE 6 не могу добиться чтобы контент в центральном div-e растягивался от верхнего div-а до нижнего и соответственно появлялась прокрутка. Подскажите как можно исправить такую проблему ведь height: auto отсутствует у IE 6, пробывал разные ухищрения, но без толку, вот код страницы, вставьте в центральный блок текст так чтобы появился скролл и увидите, что IE 6 никак не хочет правильно работать.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Каркас</title>
<style type="text/css">
* { margin: 0; padding: 0; border: 0; }
html, body { width: 100%; height: 100%; overflow: hidden; }
.header { position: absolute; top: 0; left: 0; width: 100%; height: 60px; background: #ffd700; }
.content { position: absolute; top: 60px; left: 0; bottom: 60px; right: 0; height: auto; overflow-y: scroll; }
.footer { position: absolute; bottom: 0; left: 0; width: 100%; height: 60px; background: #ffd700; }
</style>
</head><body>
<div class="header"></div>
<div class="content"></div>
<div class="footer"></div>
</body></html>

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0

К центральному диву:

position: absolute;
top: высота_шапки;
bottom: высота_подвала;

Если я правильно понял, конечно.

В IE6 это не пашет.


_height: expression(document.body.clientHeight+'px');/*for ie 6*/

Видимо, clientHeight - высота_чего_то_там +'px'

Пример - http://psywalker.ru/Forum/opacity/main-2.html (прозрачный фон от psywalker)

Edited by tt48
Link to comment
Share on other sites

  • 0

Я извиняюсь, конечно, но по-моему вы не совсем правильную проблему решаете. Возможно, что IE6 и не поддерживает height: auto или поддерживает не правильно, однако корень проблемы не в этом.

.header { position: absolute; top: 0; left: 0; width: 100%; height: 60px; background: #ffd700; }
.content { position: absolute; top: 60px; left: 0; bottom: 60px; right: 0; height: auto; overflow-y: scroll; }
.footer { position: absolute; bottom: 0; left: 0; width: 100%; height: 60px; background: #ffd700; }

Зачем тут position: absolute? Он ведь тут ни к селу, ни к городу. В .footer понятно, для того, чтобы прижать его к низу. Ну а .header, то зачем? Я не отрицаю факта, что это всё для прижатия .footer, но ведь есть варианты более удобные.

Если я не ошибаюсь, он, а именно expression, через JS работает, а если JS выключен то и работать не будет (((

Представьте себе человека, который просматривает сайты, через IE6 c выключенным JS. Такого ведь врагу не пожелаешь.

Link to comment
Share on other sites

  • 0

Ну можно .header без абсолютного позиционирования сделать, суть не в этом, а в том что, когда в центральном div-е контента много то сам блок расстягивается и уходит под .footer и за пределы экрана, это в IE 6, а в остальных браузерах всё норм блок растягивается из-под .header-а и до .footer и появляется скролл, а при прокрутке контента верх и низ они на месте стоят, а центр как ему и пологается прокручивается. Суть в том, как без JS растянуть его от сих до сих, а именно от .header до .footer извиняюсь за повторный вопрос. Пробывал всякие фичи типа:


.content { height: auto !important; height: 100%; }

не помогает.

Edited by POMAH
Link to comment
Share on other sites

  • 0

Может, expression?

А разве без него никак? Если я не ошибаюсь, он, а именно expression, через JS работает, а если JS выключен то и работать не будет (((

IE 6 с выключенным явасриптом? Ну кагбэ это то же самое, что у ВАЗ 2101 снять двигатель и жаловаться, что педаль газа не работает. Вообще на таких пофиг. Как и на всех у кого ИЕ6, а так же на тех, у кого выключен яваскрипт.

Link to comment
Share on other sites

  • 0
Вообще на таких пофиг. Как и на всех у кого ИЕ6

Скажи это предпринимателю, которому пользователи ИЕ6 в сумме приносят столько же дохода, сколько пользователи, например, ВСЕХ версий Оперы вместе взятые.

Такое бывает очень часто, многие сидят на ИЕ6 на работе, в основном это платежеспособные люди, не студенты и не школьники. ИЕ6 у них на работе - корпоративная политика, а не прихоть.

А вообще холиварная тема.

Link to comment
Share on other sites

  • 0

Скажи это предпринимателю, которому пользователи ИЕ6 в сумме приносят столько же дохода, сколько пользователи, например, ВСЕХ версий Оперы вместе взятые.

Я с такими не работаю :facepalmxd:

Link to comment
Share on other sites

  • 0

Здравствуйте!

Такая проблемма, верстаю каркас на div-ах, всё отлично во всех браузерах, кроме упрямого IE 6 не могу добиться чтобы контент в центральном div-e растягивался от верхнего div-а до нижнего и соответственно появлялась прокрутка. Подскажите как можно исправить такую проблему ведь height: auto отсутствует у IE 6, пробывал разные ухищрения, но без толку, вот код страницы, вставьте в центральный блок текст так чтобы появился скролл и увидите, что IE 6 никак не хочет правильно работать.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Каркас</title>
<style type="text/css">
* { margin: 0; padding: 0; border: 0; }
html, body { width: 100%; height: 100%; overflow: hidden; }
.header { position: absolute; top: 0; left: 0; width: 100%; height: 60px; background: #ffd700; }
.content { position: absolute; top: 60px; left: 0; bottom: 60px; right: 0; height: auto; overflow-y: scroll; }
.footer { position: absolute; bottom: 0; left: 0; width: 100%; height: 60px; background: #ffd700; }
</style>
</head><body>
<div class="header"></div>
<div class="content"></div>
<div class="footer"></div>
</body></html>

height: auto в ие6 работает.

В ие6 не работает .content { position: absolute; top: 60px; left: 0; bottom: 60px; right: 0; } - одновременное указывания таких пар как left/right и top/bottom. В ие6 предпочтительнее left, top.

Тоесть запись .content { position: absolute; top: 60px; left: 0; bottom: 60px; right: 0; } для ие6 равна:

.content { position: absolute; top: 60px; left: 0; }

Выход - назначать експрешном высоту и ширину, но судя по left: 0; right: 0;, ширину можно и в css задать как width: 100%

Может, expression?

А разве без него никак? Если я не ошибаюсь, он, а именно expression, через JS работает, а если JS выключен то и работать не будет (((

верстайте табличками.

Link to comment
Share on other sites

  • 0

Ничего лучшего не нашёл и пришлось использовать expression, пусть не работает у тех у кого отключен JS, это уже не моя головная боль, вот кому надо код:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Каркас</title>
<style type="text/css">
* { margin: 0; padding: 0; border: 0; }
html, body { width: 100%; height: 100%; overflow: hidden; }
.header { height: 60px; background: #ffd700; }
.content { position: absolute; width: 100%; top: 60px; left: 0; bottom: 60px; right: 0; height: auto; _height: expression(document.documentElement.clientHeight - 121 + 'px'); /* IE6 */ overflow: auto; }
.footer { position: absolute; left: 0; bottom: 0; width: 100%; height: 60px; background: #ffd700; }
</style>
</head><body>
<div class="header"></div>
<div class="content"></div>
<div class="footer"></div>
</body></html>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy