Должен ли я начать с HTML или XHTML?
Итак, с чего начать, HTML или XHTML? Я новичок и хочу иметь прочную основу языка разметки, но когда я начал учиться, я обнаружил, что некоторые люди используют HTML и немного XHTML.
8 ответов
XHTML очень похож на HTML, но не небрежный. Я действительно не могу придумать причину, кроме лени, чтобы не использовать его.
Обычная мудрость прошла своего рода полный круг в этом вопросе. В 2002 году все были фанатами XHTML, но у многих (включая меня) не было веских причин, почему. Это была просто крутая новинка, и все вскочили на подножку, начали использовать XHTML в своих навыках резюме, а не только HTML, который выглядел таким простым и не впечатляющим.
Что происходит сейчас, когда HTML5 закончен, люди начинают понимать, что в старомодном HTML нет ничего плохого. Это язык Интернета. Вот плюсы и минусы XHTML, как я их вижу:
профессионал
- Позволяет встраивать не-xhtml XML в вашу веб-страницу, такую как элемент SVG. Это невозможно с простым HTML.
- Позволяет легко анализировать документы с помощью синтаксического анализатора XML, который может устранить необходимость в hpricot или BeautifulSoup, если, скажем, вы хотите заменить все теги H1 на теги H2 в шаблонах вашего сайта.
Против
- IE не понимает тип пантомимы 'application/xhtml+xml', поэтому, насколько это возможно, вы отправляете искаженный HTML.
- Это немного более многословно.
<br>
а также<table cellspacing=0 cellpadding=0>
выглядит более аккуратно, на мой взгляд, чем<br />
а также<table cellspacing="0" cellpadding="0">
,
У XHTML должны быть некоторые преимущества, которые я пропускаю, но я сам использую HTML для всего в наши дни.
XHTML полезен только в том случае, если вы хотите автоматически генерировать / управлять / проверять / и т. Д. HTML-код с помощью инструмента на основе XML, такого как основанная на компонентах инфраструктура MVC (например, Sun JSF, Apache Struts, Microsoft ASP.NET и т. Д.) Или с XSLT. Парсинг / форматирование HTML программно сложнее, чем XML, потому что HTML допускает кое-где незамкнутые теги, например <br>
, XML намного легче анализировать / форматировать программно, потому что он должен быть правильно сформирован.
Если вы только начинаете и / или пишете "простой ванильный" HTML, я бы рекомендовал использовать элементы HTML 4.01 с типом HTML5. Там действительно не нужно втиснуть код HTML в формат XML.
<!DOCTYPE html>
<html lang="en">
<head>
<title>Page title</title>
</head>
<body>
<h1>Heading</h1>
<p>Paragraph</p>
</body>
</html>
Элементы HTML 5 пока широко не поддерживаются, поэтому рекомендуется придерживаться элементов HTML 4.01. Тип документа HTML 5 запускает режим стандартов в большинстве браузеров, включая IE6. Другое преимущество HTML5 заключается в том, что он позволяет закрывать ярлыки, как в XHTML. Также см. Спецификацию HTML5, глава 3.2.2:
Авторы могут по желанию использовать этот же синтаксис для пустых элементов в синтаксисе HTML. Некоторые авторы также предпочитают включать пробелы перед косой чертой, однако это не обязательно. (Использование пробелов таким способом является соглашением, унаследованным от рекомендаций по совместимости в XHTML 1.0, Приложение C.)
По сути, даже если вы пишете чистый XHTML, используя <!DOCTYPE html>
все равно сделает его действительным (и запустит веб-браузеры в правильном режиме стандартов).
XHTML для людей типа, которые думают, что XML выглядит более "аккуратно", чем обычный HTML.
Но на самом деле, это не так важно. Вы можете переключаться с одного на другое быстрее, чем на обед.
Когда дело доходит до обучения тому или иному, между ними действительно довольно мало. XHTML - это, по сути, подмножество HTML, которое поощряет (или, скорее, требует) более строгие стандарты - в частности, это применение стандарта XML к HTML. Таким образом, любой действительный XHTML также является допустимым HTML (по крайней мере, по большей части).
На мой взгляд, различие между XHTML и HTML не так уж и важно. Однако важно написать последовательную и эффективную разметку, и это то, для чего был разработан стандарт XHTML. Неважно, маркируете ли вы код как XHTML или HTML, только если он хорошо написан.
Основная особенность XHTML в том, что он требует высокого стандарта качества в вашем коде, но это то, что вы должны делать в любом случае в HTML.
Начните с HTML, но используйте валидатор. В HTML5 каждый, кажется, фокусируется на HTML, а не на сериализации XHTML.
- Как я объясняю в своем ответе здесь, разработчики XML хотели внедрить более высокие стандарты кодирования и упростить синтаксический анализ, но это работает, только если почти все переключаются. Вместо того чтобы полагаться на свой браузер для обеспечения качества кода, положитесь на проверку.
- Из-за ограниченной поддержки XHTML в Internet Explorer <=8, почти все используют XHTML как text/html. Это фактически ограничивает вас подмножеством HTML и XHTM и требует от вас соблюдения рекомендаций по совместимости. Вы можете выбрать формат для обслуживания, основываясь на пользовательском агенте, но это не так.
Учитывая ограниченные преимущества, я настоятельно рекомендую HTML, особенно если вы новичок.
HTML 4.01 будет вашим лучшим выбором, так как поэтапное изучение позволит вам увидеть более четкую картину того, что действительно происходит за кулисами и в глубине разметки. Если у вас есть четкое представление и глубокое понимание HTML 4.01, вы можете перейти к XHTML 1.0.
HTML и XHTML - это один и тот же язык с немного отличающимися синтаксисами. Как только вы знаете одно, вы знаете другое.
Это действительно не имеет значения.