Jump to content
  • 0

Опасности удаления DOCTYPE


blacks2
 Share

Question

Доброго времени суток.. да и просто доброй жизни!

Есть вопрос :huh: :

Хочу удалить доктайп:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

- из-за него у меня фиксированный блок в IE не работает.

Уже пробовал разные варианты-хаки с фикс. блоком.

Результатом был недоволен :)

Хочу его удалить.

Но не знаю какие проблемы могут из-за этого возникнуть, как поисковики могут отреагировать не такую "штуку".

Всем откликнувшимся большущие спасибо!

Edited by blacks2
Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0
Хочу удалить доктайп:

Лучше почитайте внимательно, зачем он нужен.

- из-за него у меня фиксированный блок в IE не работает.

Так может стоит попробовать другой доктайп?

Вот такой например

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

Уже пробовал разные варианты-хаки с фикс. блоком.

Результатом был недоволен :huh:

А не пробовали изучить более детально HTML и CSS?

Хочу его удалить.

Но не знаю какие проблемы могут из-за этого возникнуть, как поисковики могут отреагировать не такую "штуку".

Удаление доктайпа принесет проклятья на ваш сайт.

Link to comment
Share on other sites

  • 0
Лучше почитайте внимательно, зачем он нужен.

Изучаю, понимаю. Просто нужна конкретика :huh:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

Попробовал. Не идет :)

А не пробовали изучить более детально HTML и CSS?

В этом то и дело. Пытаю "выровнить" фиксированный от скроллинга блок. перепробовал много вариантов...

Удаление доктайпа принесет проклятья на ваш сайт.

С чьих сторон?

Link to comment
Share on other sites

  • 0

Так удалите доктайп и посмотрите что будет :huh: Проклятья будут с вашей стороны :)

Вообще, не советую удалять доктайп, это все равно, что отменить все правила русского языка и разрешить каждому писать так как ему захочется, в результате катастрофы не будет, но не все правильно будут понимать, что им пишут, будут требоваться дополнительные разъяснения и уточнения.

Вот и тут каждый броузер будет по-своему отображать написанный вами код. Причем не просто каждый броузер, а даже различия будут в версиях броузеров. С доктайпом же все стандартизировано и только ИЕ выпендривается :)

Как-то помоему s0rr0w шутил: "ой, нога что-то болит, надо её отпилить...". Вы пытаетесь именно так поступить.

Для начала покажите код, может мы поможем выровнять этот ваш блок. position:fixed; ИЕ не понимает ваще, что с доктайпом, что без него. Но есть способы это исправить.

Link to comment
Share on other sites

  • 0

Ситуация похожа на "отлетел кусочек позолоты, надо теперь всю ее соскаблить".

Доктайпы убирать не советую. Сейчас браузеры как-то но показывают согласно стандартов, когда удалите - все перейдут в режим "старого браузера", окромя оперы, наверное. Поймите, если при удалении доктайпа "нечто" начинает работать - значить это самое "нечто" - устаревший говняный прием.

Link to comment
Share on other sites

  • 0

Попробую телепатически выявить проблему.

Для стандартного режима, вместо:

document.body.scrollTop

нужно использовать:

document.documentElement.scrollTop

угадал?

upd:

ну и чтоб не дергался:

document.documentElement.style.backgroundImage = "url('faux-image.png')";

document.documentElement.style.backgroundAttachment = 'fixed';

Edited by Jenek
Link to comment
Share on other sites

  • 0
Так может стоит попробовать другой доктайп?

Вот такой например

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

В IE6, о котором речь - разницы никакой.

Проблема именно в том, что document.body.scrollTop работает только в режиме совместимости, а нужен document.documentElement.scrollTop. Кстати, вместо url('faux-image.png') неплохо справляется url(about:blank).

Link to comment
Share on other sites

  • 0
Кстати, вместо url('faux-image.png') неплохо справляется url(about:blank).

Спасибо всем откликнувшимся!

Проблему решил. Решение было в правильном написании вышестоящего блока в CSS...

Хотел уточнить по поводу интересного решения about:blank

- получается -1 запрос с страницы? :)

- это кроссбраузерный вариант или могут возникнуть проблемы?

Link to comment
Share on other sites

  • 0

Получается без лишнего запроса. Кроссбраузерность в данном случае не нужна, т.к. это фикс только для IE6, в других браузерах position:fixed работает без таких извр... пардон, ухищрений :)

Link to comment
Share on other sites

  • 0
Получается без лишнего запроса. Кроссбраузерность в данном случае не нужна, т.к. это фикс только для IE6, в других браузерах position:fixed работает без таких извр... пардон, ухищрений :)

Спасибо.. но хотел немного уточнить:

- position:fixed для BG делать в отдельном слое только для IE или можно в CSS для всех браузерах ставить?

- не знаю как себя ведет about:blank в остальных браузерах - проверял вроде все нормально. но возможно

есть какие-то скрытые негативные моменты при использовании данного параметра в BG?

Link to comment
Share on other sites

  • 0

Имхо, лучше и то, и другое указывать только для IE6 – все-таки тут CSS-свойства используются не по назначению, а ради побочных эффектов, так что это хак. Но проблем от about:blank в качестве адреса картинки лично я нигде не наблюдал.

Link to comment
Share on other sites

  • 0
Имхо, лучше и то, и другое указывать только для IE6 – все-таки тут CSS-свойства используются не по назначению, а ради побочных эффектов, так что это хак. Но проблем от about:blank в качестве адреса картинки лично я нигде не наблюдал.

Спасибо.

Link to comment
Share on other sites

  • 0

Раз уж тема о доктайпе, у меня такой вопрос, можно ли удалить адрес доктайпа "http://www.w3.org/TR/html4/loose.dtd"? Чтобы доктайп выглядел следующим образом - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> или наличие данного адреса обязательно? Просто когда я его ставлю, некоторые элементы начинаю отображаться некорректо, а без него во всех браузерах нормально работает.

Link to comment
Share on other sites

  • 0
Раз уж тема о доктайпе, у меня такой вопрос, можно ли удалить адрес доктайпа "http://www.w3.org/TR/html4/loose.dtd"? Чтобы доктайп выглядел следующим образом - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> или наличие данного адреса обязательно? Просто когда я его ставлю, некоторые элементы начинаю отображаться некорректо, а без него во всех браузерах нормально работает.

Зашлите на валидатор и все станет понятно.

Link to comment
Share on other sites

  • 0
Просто когда я его ставлю, некоторые элементы начинаю отображаться некорректо, а без него во всех браузерах нормально работает.

На самом деле (т.е. по стандартам) с точностью до наоборот :)

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