[Ликбез]

Форма входа
Логин:
Пароль:

Меню сайта


Скрипты и коды для юкоз - Форум аццкого кодера » Как сделать... » Как правильно прописать доктайп / DOCTYPE

Как правильно прописать доктайп / DOCTYPE
[1] likbezz [25.12.2010, 17:34]
Элемент <!DOCTYPE> предназначен для указания типа текущего документа — DTD (document type definition - описание типа документа).

Этот тег должен всегда находиться в первой строке каждой страницы (подробнее - ниже).

Это необходимо, чтобы браузер понимал, как следует интерпретировать текущую веб-страницу, поскольку HTML существует в нескольких версиях, кроме того, имеется XHTML (EXtensible HyperText Markup Language - расширенный язык разметки гипертекста), похожий на HTML, но различающийся с ним по синтаксису.

Чтобы браузер «не путался» и понимал, согласно какому стандарту отображать веб-страницу необходимо в первой строке кода задавать <!DOCTYPE>.

Тег DOCTYPE - ключевой компонент web-страниц, претендующих на соответствие стандартам: без него ваш код и CSS не пройдут проверку валидатором.

Не указание ссылки на .dtd считается ошибкой(!) и отображается «по старинке» (то есть, как и без него {в некоторых драузерах})! (строка выделена синим) Актуально для тех доктайпов, где он ДОЛЖЕН быть
Quote
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">




Существует несколько видов <!DOCTYPE>, они различаются в зависимости от версии языка, на которого ориентированы
Ниже приведены основные типы документов с их описанием.


HTML 4.01 - на данный момент самый распространённый язык разметки. Большинство веб-страниц создаются при помощи языка HTML.
Code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
- Строгий синтаксис HTML Не содержит элементов, помеченных как «устаревшие» или «не одобряемые» (deprecated).




Code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
- Переходный синтаксис HTML (нечто среднее - между “строгим” и вообще без доктайпа). Содержит устаревшие теги в целях совместимости и упрощения перехода со старых версий HTML.




Code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
- Для документов в которых применяются фреймы (то есть для “фреймовых” сайтов) - сейчас это почти «редкость». Аналогичен переходному, но содержит также наборы фреймов.




XHTML 1.0 - расширенный язык разметки страниц.
XHTML (англ. Extensible Hypertext Markup Language — Расширяемый язык разметки гипертекста) — язык разметки веб-страниц, по возможностям сопоставимый с HTML, созданный на базе XML. Как и HTML, XHTML соответствует спецификации SGML, поскольку XML является её подмножеством.


Code
<!DOCTYPE html PUBLIC  "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- Строгий синтаксис XHTML[b]. [b]Полностью отделяет содержание документа от оформления (которое теперь задаётся только через CSS), многие атрибуты (такие как, например, bgcolor и align) более не поддерживаются[/b], их поведение можно задавать только через таблицу стилей.




Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- Переходный синтаксис XHTML.




Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
- Документ написан на XHTML и содержит фреймы. Аналогичен переходному (Transitional), но документ содержит также наборы фреймов (не путать с ифреймами <iframe>).




Code
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
"http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
- XHTML 1.0 Mobile - основанный на XHTML Basic, добавляет специфические элементы для мобильных телефонов.



XHTML 1.1 - расширенный язык разметки страниц, версия 1.1.
Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
- Разработчики XHTML 1.1 предполагают, что он постепенно вытеснит HTML. Никакого деления на виды это определение не имеет, синтаксис один и подчиняется четким правилам.



HTML 5 - “возможное” будущее (моё мнение). На некоторых сайтах, с “граблями”, но все же используют такой доктайп. Пятая ве
рсия основного языка разметки web-страниц, HTML. Версия языка, полностью соответствующая стандарту XML
Code
<!DOCTYPE html>
- Для всех документов. HTML5 вводит несколько новых элементов и атрибутов. Некоторые из них технически являются эквивалентами <div> и <span>, но имеют своё семантическое значение, например <nav> (навигационная панель) и <footer>. Эти теги будут облегчать работу поисковикам, а также обработку сайта с КПК или читающих программ. Поддерживается не всеми, даже современными, браузерами - отсюда и “грабли” .... ヅ


Новые элементы - header, footer, section, article, video, audio, progress, nav, meter, time, aside, canvas;
Новые глобальные атрибуты - id, tabindex, repeat;
Полностью убраны устаревшие элементы - center, font, strike.



Для сайтов на юКоз (uCoz) - есть специальное поле, куда и нужно прописывать доктайп (DOCTYPE).
Если он активен, то есть, если прописан - то присутствует на всех динамических страницах сайта - то есть, грубо говоря, во всех модулях, и во всех созданных “страницах сайта”.
Его НЕ НУЖНО, прописывать в шаблон, если вы не преследуете других целей.


Находится оно в ПУ (панель управления - здесь и далее) » Главная » Общие настройки » Значение тега <!DOCTYPE> (в самом низу) и “по умолчанию” пусто (странно - моё мнение)



======================

Следовательно, ваши шаблоны, те где есть тег «html» должны начинаться вот с таких строчек:
Code
<html>
<head>
... и т.д ....

- для сайтов с HTML 4.01 и HTML 5 доктайпом (прописанным html-доктайпом).

или

Code
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
... и т.д. ....

- для сайтов с XHTML 1.0 и XHTML 1.1 разметкой (прописанным xhtml-доктайпом).
....
Вопросы - только по теме.
...
Почитать на тему:
«Про DOCTYPE и стандарты html»
«Что происходит в режиме совместимости»
«Пуленепробиваемый HTML: 37 шагов к идеальной разметке»
«Как заменить доктайп с помощью многострочной замены»
«Валидный HTML. Какой с этого профит.»
...


...
Прикрепления: 1323959.png (4.1 Kb) · 2053074.png (43.0 Kb)
[2] likbezz [25.12.2010, 17:34]
For persi005
Идёшь в ПУ (панель управления сайтом - здесь и далее), » Главная » Общие настройки? в самый низ окна.
Находишь поле с лейблом «Значение тега <!DOCTYPE>», копируешь то, что ниже (доктайп)
Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Тыкаешь в него мышкой.
Нажимаешь [ctrl]+[a] затем, когда поле выделится [del]. Затем, когда поле станет пустым - [ctrl]+[v] .... Должно вставится то, что ты скопировал. Проверь.
Должно получится что-то вроде вот этого:

....
Как убрать доктайп из шаблонов методом замены.
Идешь в ПУ» Главная » Управление дизайном » Быстрая замена
...
Открываешь в НОВОМ окне\вкладке любой шаблон любого модуля, например «Новости сайта - Страница архива материалов», копируешь первые две\три строки, от самого начала, до закрывающей скобки <html>.
В твоём случае - примерно вот это:
Code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
      "http://www.w3.org/TR/html4/strict.dtd">
<html>
- отсюда - не копировать - только из своего шаблона
Возвращаешься на вкладку «быстрая замена», переключаешься режим замены на «многострочный»
В поле «Что заменить» - вставляешь то, что скопировал из шаблона.
В проле «На что заменить» - вставляешь вот это:
Code
<html xmlns="http://www.w3.org/1999/xhtml">

В «опциях замены» (галочки ниже) - ставишь галку на «заменять только первое совпадение в шаблоне» - остальное НЕ ТРОГАЕШЬ.
В «Модули» (чуть ниже) - должны стоять галочки везде.
Нажимаешь кнопку [произвести] замену.
Должно вылезти окно типа - “замена произведена в столько-то шаблонах ....” .....
....
Если НЕ понятно - делаешь вручную.
То есть - проходишься по ВСЕМ шаблонам и заменяешь вот хто:
Code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
      "http://www.w3.org/TR/html4/strict.dtd">
<html>

На вот это:
Code
<html xmlns="http://www.w3.org/1999/xhtml">

...
Пишешь мне в личку. Проверю.
...
С тебя причитается.
Удачи.
...
Перечитываем ещё раз, для “закрепления”, тему «Как правильно прописать доктайп / DOCTYPE (и главное - где)» ... а именно тот момент «Следовательно, ваши шаблоны, те где есть тег «html» должныначинаться вот с таких строчек .....» ......
[3] likbezz [04.01.2011, 13:28]
nightdrednout,
Quote (nightdrednout)
Проблема его в том что он не может поставить готовый HTML блоков, который не будет рваться. Проблема блоков ещё в том что ширина колонки задана уже чем ширина миничата ( при заходе гостем ), он оказывается самым широким, что и разваливает колонку.

- Это на сегодня/вчера его проблема - завтра появятся другие - увидишь ....
....
Quote (nightdrednout)
Ошибки ошибками но частично подкорректировать реально. Всё сделать " нормально " ему просто не дано, наверняка работает только на готовом, разжёванном и в рот положенным.

Читай Сообщение # 245
- Так пусть найдет того кто сделает нормально за него - все ошибки - это отдельная, полновесная тема ...... и не одно страничная.
Есть же ещё альтруисты в этом мире - я бы и сам подкорректировал, но боюсь - все это напрасно ....... да и время не располагает.
...
На самом деле, тем более когда есть готовые картинки - составить нормальный, надёжный шаблон, который не будет разваливаться при «первом дуновении» - не так уж и долго - в сутки - с отладкой и натягиванием можно реально вписаться .....
....
Но, кроме этого, ещё нужно проинструктировать человека, как можно, а как нельзя работать с сайтом - а на это уже точно времени нет ..... тем более по клаве ....
....
Чаше всего дизы, даже грамотно составленные, в смысле кассной решётки, именно из-за последующих действий пользователя. Любой, даже чамый что ни на есть хороший шаблон - реально развалить.
...
Тем более без доктайпа.

Вообще - считай правило - натянул сторонний шаблон - проставь доктайп.
Без правил писать стили, и только “догадываться” как их интерпретирует тот или иной обозреватель, а если ещё учесть, что реклама, по умолчанию, встаёт хрен знает куда, так это вообще - гиблое дело.
...
Читай подпись - первая строка ....

[4] Komoff [13.04.2011, 21:48]
Как я понял
Code
<!DOCTYPE html>
поддерживает только стандарты HTML5 и не поддерживает устаревшие теги и атрибуты не вошедшие в его стандарты?
А если я, например, верстаю страницы в HTML (иногда с устаревшими тегами), но система периодически вставляет теги по стандартам xHTML (например, <BR />), то какой DOCTYPE ставить?
Code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

или
Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
[5] likbezz [13.04.2011, 22:16]
Komoff,
Quote (Komoff)
А если я, например, верстаю страницы в HTML (иногда с устаревшими тегами), но система периодически вставляет теги по стандартам xHTML (например, <BR />), то какой DOCTYPE ставить?

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

...
По любому, закрытые <BR />, <img />, <hr /> и прочие одиночные элементы, не являются грубым нарушением, и практически не влияют на отображение.
В любом доктайпе.
[6] Lunder [19.06.2011, 05:34]
У меня та же ситуация:
Quote
А если я, например, верстаю страницы в HTML (иногда с устаревшими тегами), но система периодически вставляет теги по стандартам xHTML (например, <BR />), то какой DOCTYPE ставить?


Сначала поставил
Code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">


Во всех браузерах (Опера, ФФ и НН, ГХ и Сафари), кроме ИЕ, пропала картинка в шапке. ИЕ в режиме совместимости отображал только левую часть картинки.

То же для

Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


и для всех остальных вариантов, в т.ч. и для

Code
<!DOCTYPE html>


У меня где-то ошибка в коде?

Code
#logo {height:233;background:url('/head_3_1_1.jpg') right no-repeat;}
#logoName {width:343px;height:203px;text-align:center;background:url('/head_4_1_2.jpg') no-repeat;float:left;padding-top:30px;color:#FFFFFF;font-size:20pt;font-weight:bold;padding-right:100px;}


Сообщение отредактировал Lunder - Воскресенье, 19.06.2011, 06:17
[7] likbezz [19.06.2011, 08:03]
Lunder,
Quote (Lunder)
У меня где-то ошибка в коде?

Не в коде, а в стилях - скорее всего не стоит пробел ... Надо глянуть по месту - или ссылку на css.
Quote (Lunder)
У меня где-то ошибка в коде?
Quote (CSS)
#logo {height:233;background:url('/head_3_1_1.jpg') right no-repeat;}
#logoName {width:343px;height:203px;text-align:center;background:url('/head_4_1_2.jpg') no-repeat;float:left;padding-top:30px;color:#FFFFFF;font-size:20pt;font-weight:bold;padding-right:100px;}

- Да )
233 - не проставлены единицы измерения.
...
[8] Lunder [19.06.2011, 09:08]
мда... Исправил, установил HTML 4.01 Transitional. Все работает. Спасибо.

ЗЫ. "Сафари" презентуют, как скоростной браузер. До установки DOCTYPE, он у меня грузил главную почти минуту, а сейчас влетает мгновенно.


Сообщение отредактировал Lunder - Воскресенье, 19.06.2011, 09:09
[9] likbezz [19.06.2011, 10:24]
Lunder,
Quote (Lunder)
Все работает

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

Quote (Lunder)
ЗЫ. "Сафари" презентуют, как скоростной браузер

- Да ладно? ))) Кто, где? Ссыль.
...
Quote (Lunder)
а сейчас влетает мгновенно.

- Это нормальное поведение, многие , если не все, быстрее грузят страницы с доктайпом, нежели без него, не намного, но факт. Конечно многое зависит и от сложности каркаса и стилей. И от общего объёма кода...
[10] Lunder [19.06.2011, 10:59]
Quote
- Да ладно? ))) Кто, где? Ссыль.


Да с первой попытки поисковик выскочил на "самый быстрый" smile

Quote
Safari — бесплатный веб-браузер изначально разработанный компанией Apple Inc. для Mac OS X. С 2007 года существует также, предоставленная на этой странице, версия для Windows. По заверениям разработчиков Safari — самый быстрый браузер для этой операционной системы.

Добавлено (19.06.2011, 10:59)
---------------------------------------------

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


Проверил. Сижу исправляю surprised

[11] likbezz [19.06.2011, 17:16]
Lunder,
Quote (Lunder)
Safari — бесплатный веб-браузер изначально разработанный компанией Apple Inc. для Mac OS X. С 2007 года существует также, предоставленная на этой странице, версия для Windows. По заверениям разработчиков Safari — самый быстрый браузер для этой операционной системы.


Quote (Lunder)
Проверил. Сижу исправляю

- Всё-то необязательно - только грубые (красненькие) ))) которые влияют на отображение ... )
...
И, если юзаешь CSS3 селекторы - лучше проверять на CSS3, а не CSS2.1 - а то понаисправляешь, особенно если не в курсе.
...
[12] Lunder [19.06.2011, 17:46]
Quote (likbezz)
а то понаисправляешь, особенно если не в курсе. ...

Если не в курсе, то ищу в учебниках, если сам не допираю, то - на форумах biggrin
А ваще, прежде, чем лезть в глобальные изменения кода, всегда сохраняю копию в блокноте до окончания редактирования. Да и еще одна копия сайта есть, для эксперементов. "Береженого Бог бережет", - думала монашка, одевая презерватив на свечку )

ЗЫ. Впринципе, уже есть куча вопросов. Пока разбираюсь. Буду опять просить у тебя помощи. по-позже smile


Сообщение отредактировал Lunder - Воскресенье, 19.06.2011, 17:47
[13] likbezz [19.06.2011, 22:52]
Lunder,
Quote (Lunder)
"Береженого Бог бережет", - думала монашка, одевая презерватив на свечку )

Эт точно )
-- Хорошая поговорка.
...
[14] Lunder [20.06.2011, 00:38]
И в CSS 3 и в CSS 2.1 к-во ошибок было приблизительно одинаково. Вообщем, получилось немного подправить: ошибок - 53 (было 82), предупреждений - 56 (было 462).

likbezz, глянь пожалуйста по-свободе (ссылка). Я не понял вот эти ошибки:



Синтаксис вроде бы правильный?

Вот эти не знаю даже где искать:



А их показывает в стр. 215 и 225 аж 23 штуки.

Много и в исходнике ЮКОЗа:



Туда можно как-то залезть для редактирования? )


Сообщение отредактировал Lunder - Понедельник, 20.06.2011, 00:59
[15] likbezz [20.06.2011, 07:13]
Lunder,
Quote (Lunder)
Я не понял вот эти ошибки:

Скрин первый - отсутствует пробел после звёздочки. Хак для ие - принято выносить в отдельную таблицу.
...
Quote
Ошибка значения : cursor hand не является значением cursor : hand hand

- Поправь - cursor:pointer;
...
Quote (Lunder)
Вот эти не знаю даже где искать:

- Эти - в коде - <font> - является нежелательные (deprecated) тегом, и не входит в спецификацию.
Вот ещё нежелательные HTML-тэги и атрибуты:
Quote (Теги)
<font>
<basefont>
<center>
<strike>
<s>
<u>

Quote (Атрибуты)
bgcolor
border
align
vspace
hspace
valign
width
height

...

Quote (Lunder)
Много и в исходнике ЮКОЗа:

- zoom и Opacity чисто для ИЕ - выносится в отдельный файл, если уж очень нужно ...
Остальное, типа «moz-user-select»- не столь важно, можно вообще убрать - разницы я не наблюдаю )
...


Полная версия сайта