- 0
проблема с doctype
-
Similar Content
-
By EnselerizeR
Здравствуйте!
Делаю страницу для использования в IE7 и столкнулся с проблемой.
В странице используется текстовый редактор с подсветкой кода CodeMirror.
В IE7 редактор отображается некорректно, если не использовать доктайп (в редакторе появляются неактивные полосы прокрутки, а при наборе текста страница сама прокручивается).
Увидел, что в демо-страничках из дистрибутива CodeMirror используется <!DOCTYPE html>.
При установке <!DOCTYPE html>, на моей странице перестают корректно отображаться многие стили (отступы и всё с этим связанное, установка цвета фона контейнеров и пр.), причем только в IE7.
При этом, редактор начинате работать как полагается
В нормальных браузерах проблемы не возникает.
И CSS, и HTML проверял валидаторами, они ошибок не выявили.
Желаемое отображение можно посмотреть на jsfiddle, а вот так это выглядит в IE7.
Прошу помочь устранить проблему, или же посоветовать максимально простой редактор с подсветкой кода, работающий в IE7.
Заранее благодарю за помощь
-
By Zueff
DOCTYPE. Одно название уже говорит само за себя (тип документа).
Спецификация HTML 2.0 (1995 год)
Вольный перевод
По сути, DOCTYPE (Document Type Declaration) определяет тип спецификации HTML. В каждой спецификации прописаны поддерживаемые ей элементы, атрибуты, и их взаимоотношения. Изначально спецификации писались в DTD, а сегодня это XML Schema.
Есть один интересный момент, в HTML коде большинства сайтов 90х годов разработчики вообще редко прописывали DOCTYPE. Потому, что браузеры тех времён могли самостоятельно выбирать спецификацию документа и поэтому у разработчиков попросту не было нужды прописывать DOCTYPE в первой строке кода.
STRAWBERRY POP-TART BLOW-TORCHES (1994)
CNN’S O.J. SIMPSON TRIAL PAGE (1996)
WELCOME TO NETSCAPE (1994)
Но к началу нулевых годов DOCTYPE стал обязательным элементом и все веб-разработчики начали прописывать его в своих страницах. Причина кроется в том, что DOCTYPE приобрёл новое значение. Теперь он переключает режимы работы браузеров. И всё это из-за CSS!
К концу 90х годов существовало огромное количество сайтов. Веб-страницы, в основном, просматривались через такие браузеры, как Netscape Navigator и Microsoft Internet Explorer. Эти браузеры обрабатывали некоторые CSS свойства по-своему, а не в соответствии со стандартами.
Первый браузер поддерживающий CSS был Internet Explorer 3, вышедший в 1996 году. IE3 надежно поддерживал большинство цветов, фоновые и текстовые свойства, но box model (margins, paddings, borders) не была полностью реализована, а свойство display и псевдо-элементы вообще не поддерживались.
Когда было решено создать браузер полностью соответствующий стандартом CSS, оказалось, что все унаследованные страницы ломаются! Одна из главных причин была box model.
В старых версиях IE значение высоты/ширины бокса включало в себя border и padding.
Оба элемента имеют одинаковые значения высоты и ширины. Слева – стандартный; справа – старый IE.
Поэтому в новых браузерах появились два режима обработки страниц – standart и quirk (чудачества). Страницы использующие DOCTYPE с HTML версии 4 и выше обрабатываются в соответствии со стандартами, а страницы без DOCTYPE или с DOCTYPE, но версией HTML ниже 4 обрабатываются, как в старом браузере. Даже если написать в первой строке кода просто <!doctype html> (без версии HTML), то браузер IE6 (дата релиза: 2001 год) и выше включат стандартный режим.
Ресурсы по теме:
RFC 1866: The HTML 2.0 specification
Quirks mode
Quirks Mode and Standards Mode
CSS Enhancements in Internet Explorer 6
DOCTYPE Switches support in Opera Presto 2.10
Picking a Rendering Mode
-
By forest_moss
Всем привет!
У меня на сайте есть "каркас" в виде php-файла, а переключаемые страницы вложены внутрь него (при помощи php include).
Вопрос: вложенным страницам можно приписывать <doctype>, <head> и <body>?
Контекст:
Недавно очень неожиданно человек, написавший для меня php, внезапно сообщил мне, что так делать нельзя.
А у меня уже наверно есть повторяющиеся названия классов на разных станицах, и многие стили присвоены не классам, а элементам.
Придется все переписывать, если хочу, чтобе все было красиво?
Потому что по сути все и так работает, но если кто-нибудь потом будет дорабатывать/менять, то не хочется, чтобы меня проклинали на чем свет стоит. или тем более убивали мое детище и переписывали заново (даже подумать об этом страшно и грустно).
-
By parzhitsky
Сверстал себе обычную, ничем не примечательную страничку. В ней есть таблица. Для этой таблицы выставлено CSS-свойство:
height: 100%;То есть, высота таблицы выставлена "на полную мощность" - на всю высоту документа.
Вся эта благодать работает ровно до того момента, как я добавляю в начало документа тег:
<!DOCTYPE HTML>который просто-напросто обрезает мне высоту таблицы до высоты содержимого. И теперь, чтобы изменить высоту таблицы, я должен объявлять её абсолютными величинами (в пикселах, дюймах, метрах или километрах – как угодно, но уже не в процентах).
Объясните мне, пожалуйста, что происходит?
-
By Andrew_007
Здравствуйте!
Как вы думаете, стоит ли использовать <!DOCTYPE html>, доктайп для html5, если сам валидатор http://validator.w3.org/ предупреждает что это экспериментальная функция и могут быть проблемы?
Какой доктайп сейсас лучше использовать?
Каким доктайпом всегда пользуетесь вы?
Или выбор доктайпа зависит от конкретного проекта?
-
Question
ml227
Написал простенький сайт.Только добавил !DOCTYPE html , css стили отключились.
(режим совместимости как я понял).В чем дело?
Link to comment
Share on other sites
8 answers to this question
Recommended Posts
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.