![]() |
Как решить проблему height=100% кроссбраузерно
Меня давно мучает вопрос, ка же всетаки сделать так, чтобы футер на всех браузерах был в низу, а не по середине, не наверху, а именно внизу!!!
синтаксис <table height='100%'.... <td height='100%'.... помогает только в лучае с ИЕ-6, а вот Опера, Мозила и т.д. этого нифига не понимают, для Оперы и Мазилы, я эту проблему решал так: простенький JavaScript в тэге head и событие к боди на загрузку Код:
<script language="javascript">че делать фиг знает:rtfm: |
А код кто оформлять будет?
|
Пойдет?
|
Пойдет.
|
Первое. Ява и ЯваСкрипт - это разные вещи.
Не хочется огорчать автора топика, но задача "прибить футер вниз страницы" является самой _находимой_ задачей начинающих верстальщиков. В том числе и на этом форуме. |
Огромные комманды умных людей тратят свое время и деньги, разрабатывая всевозможные стандарты, чтобы упростить жизнь разработчикам софта и тем, кто этот софт потом использует... Уж никак не для того, чтобы такие кодеры, как мы на все наплевали и делали "лишь бы работало", подгоняя под все и вся. И при этом мы гоним на "тупых разработчиков" браузеров, чей продукт нифига не понимает что мы от него хотим своими извращениями. Это все равно, что пытаться объаснить папуасу Новой Гвинеи что-нибудь на якутском языке и удивляться, почему он нас не понимает :)
Если мы хотим добиться правильного отображения нашей информации в браузере, то как минимум нужно: 1. Привести свой код к какому-нибудь стандарту - HTML 4.01 Transitional, HTML 4.01 Strict, XHTML и т.п. (выбирается исходя из исходных данных для страницы, дизайна, предпочтений кодера). 2. ОБЯЗАТЕЛЬНО указать выбранный стандарт в верху страницы. 3. Желательно себя проверить и скормить страницу валидатору разметки. 4. Пинять разработчиков браузера, если он НЕПРАВИЛЬНО показывает наш ПРАВИЛЬНЫЙ код. Т.е. в нашем случае можно выбрать HTML 4.01 Transitional и привести разметку в соответствии с ним - как минимум заменить все <table height='100%'> на <table style="height:100%;">. Потом указываем, какой стандарт мы используем, добавив <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> в самый верх страницы. И, окончательно, скармливаем полученный файл валидатору http://validator.w3.org/ и правим вываливающиеся ошибки, пока не получим что-то наподобие http://validator.w3.org/check?uri=ht...Fwww.w3.org%2F |
<table height='100%'....-- так и делай, только убери dtd в начале страницы - будет работать в большинстве браузеров
сделать с валидным кодом на таблицах не получится |
Цитата:
Первый попавшийся пример - http://www.apache.org/ Проверка - http://validator.w3.org/check?uri=ht...doctype=Inline Браузеры не обязаны и не будут поддерживать невалидный код. |
SPV, у тебя монитор по высоте больше, чем контент на странице apache.org?
Если уменьшить текст, то футер нифига не прилипает вниз. |
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
W3C говорите? Одну строчку забыли в DOCTYPE.
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
Добавим в стилях 100% высоту у html:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
Вот это уже другой разговор :)
Можно уже Strict писать. |
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
почти готов признать свою ошибку...
только как вот такое правильно сделать? ведь от таблицы с одной ячейкой толку никакого Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
Цитата:
|
Да, если нужно сделать именно так - верх, низ, ВСЕ остальное центр, то IE6 обрабатывает неверно. Можно вместо height:100% у среднего ряда поставить height:1px у верхнего и нижнего, но у IE средняя ячейка займет не все оставшееся место. В этом случае лучше использовать слои, а не таблицы... Или верстать так, что у таблицы две строки - в нижней футер, прижатый к низу, а в верхней - прижатая к верху вложенная таблица с футером и контентом...
|
забудьте уже слово таблица вне контекста. на кой ляд?
|
Даа.. ну в общих чертах туман рассеялся :)
|
KidsKilla - min-height:100% - насколько я помню ИЕ-шник такого свойства CSS не знает
|
Зато он знает expression.
|
Цитата:
|
Как-то так:
Код:
//height: expression(document.body.offsetHeight<860 ? "860px" : "100%"); |
2etc: это хак такой - со слешами? а где про него почитать можно?
|
|
2KidsKilla:
все равно css не валидный :confused: Цитата:
|
Цитата:
|
работает везде!
|
Цитата:
|
Цитата:
Цитата:
|
Народ, я же дал рабочий ВЕЗДЕ вариант, нах*ра придумывать веллосипед о 5ти колёсах???
min-height:100%; стандартное св-во _height:100%; св-во для ие -- остальные его не поймут, а в ие height работает почти так как во всех нормальных min-height; то что не проходит ксс-валидатор я знаю. ибо ксс-валидатор (в отличие от хтмл-валидатора) вещь до несусветности идиотическая и ненужная. как корове седло. ксс изначально придумывался с залогом на расширяемость. и расширяемость не только и не столько W3C пс да, и про експрешшн. не трогайте вы его без надобности, а.. ибо напороться на вылет ие как 2 пальца обасфальт, а сделать чего толкового сложно очень. |
KidsKilla,
http://www.artlebedev.ru/tools/techn...fixed_in_msie/ :D Что касается валидатора, то либо мы видим одно и то же в разных браузерах, либо «Valid!» на странице валидатора. По мне, если ты предложишь замену expression для ограничения размеров дива, я буду только рад. Потому как мне это было актуально, да и щас неплохо было бы узнать более интересный вариант (ибо CSS и HTML я толком не ковыряю, всех тонкостей не знаю). |
вот только не надо сравнивашть шитова и тех кто тусуется на флешере.
|
Цитата:
Предложи вариант. А Шитов и иже с ним ничего не находят такого криминального в expression, это я к этому ссылку дал. Впрочем, если есть аргументы и примеры против или за, с удовольствием выслушаю (так сказать, в качестве стороннего слушателя, ибо аштимель с цеэсэсом не мое, но иногда нужно). |
итак.
я тоже не вижу криминала в експрешшене, но это как острый нож в руки ребёнка — либо убьёт ся к чертям либо станет чудо-ниндзя. а взрослые, которые умеют им пользоваться, пусть пользуются. Цитата:
но «Valid!» относится к HTML валидатору, а не к ксс. потому что валидатор к кссу это как генсек при коммунизме. с одной стороны "типа коммунизьм", делай што хош; с другой стороны генсек сказал нет и все про коммунизьм то и забыли, страдаем-с. тупо. |
Цитата:
|
Цитата:
|
Видимо не на том месте, но я не нашел :D
|
Цитата:
http://flasher.ru/forum/showpost.php...7&postcount=16 |
| Часовой пояс GMT +4, время: 01:49. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.