[X] Пользовательские теги HTML: плюсы и минусы - PullRequest
7 голосов
/ 17 июня 2010

Я бы хотел использовать некоторые семантические [X] теги HTML вместо <div> s: <article>, <product>, <footer> и т. Д. Некоторые из них уже представлены в следующем HTML5, однако этоне полностью поддерживается.

С какими возможными минусами я могу столкнуться при рендеринге?Используя CSS, JS?

Я помню одно: IE6 не может клонировать теги, которые он не знает.

Ответы [ 5 ]

7 голосов
/ 17 июня 2010

Добавление следующего исправления JavaScript позволяет настраивать теги HTML5 в IE. На самом деле они работают в любом другом браузере, который я пробовал. Я создал свой веб-сайт с использованием HTML5, и, хотя он не выглядит великолепно в IE6 и 7, он все же работает. Вот код, который вы положили в заголовок шаблона:

<!--[if IE]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <style type="text/css"> .clear { zoom: 1;display: block;} </style> <![endif]-->

Использование тегов HTML5 дает вам больший контроль над использованием CSS благодаря их семантической природе. На самом деле сделать сайты намного проще, так как их легче понять, если правильно использовать теги.

Хорошо бы везде использовать div, потому что, если у них есть соответствующие идентификаторы и классы, они все еще семантические, но с тегами HTML5 вы можете распознать структуру страницы намного быстрее.

3 голосов
/ 28 декабря 2010

Вопрос упоминает «клонирование», поэтому вопрос о том, может ли IE6 стилизовать пользовательский элемент (может), на самом деле не является вопросом, если намерение состоит в том, чтобы использовать JS для клонирования пользовательских элементов, если IE6 не может управлять этим (чтоЯ не знаю).

Если идея состоит в том, чтобы просто стилизовать пользовательские элементы, то любой браузер может это сделать.Из-за IE6 вам нужно пространство имен ваших пользовательских элементов таким образоми указать пространство имен в элементе HTML таким образом

2 голосов
/ 18 июня 2010

Это не совсем относится к вашему вопросу, но <product> не является семантическим в том, что касается компьютеров.

Человек может прочитать его и подумать: «Ага, это должно быть продуктом,что в контексте этого сайта покупок означает то, что я могу купить, и, следовательно, не означает «количество, полученное путем умножения количества», как это может быть сделано на mathoverflow.com ».Это действительно полезно для любого человека, читающего код, поэтому оно семантическое в этом смысле.

Но что касается компьютера, разбирающего вашу страницу на предмет HTML (или человека, просматривающего вашу HTML-страницу в браузере вместо чтениякод), это просто неизвестный тег, и поэтому он не получит никакого полезного стиля по умолчанию (в отличие от тега <p>, который получает хорошие поля для удобства чтения на экране) или поведения (в отличие от тега <a>,который можно активировать, если вы зададите ему атрибут href).

Компьютеры получают семантику только тогда, когда люди согласны с тем, что означают теги, с помощью спецификаций, таких как HTML5.

2 голосов
/ 18 июня 2010

Даже если вы используете JS, чтобы IE 6 «распознавал» теги HTML5, у вас все равно будут проблемы, поскольку IE 6 не позволит вкладывать такие теги.

С другой стороны, если ваш вебстраница не ориентирована на приложения, но исключительно для презентации, вы также можете использовать старый старый XML со стилем.Он немного отличается от традиционного способа создания страниц, но в терминах XML нет «старых» или «новых» тегов.

См. Эту страницу - http://feeds.feedburner.com/blogspot/MKuf (фид блога Google)В качестве примера стиля XML.JS и DOM API работают точно так же.

1 голос
/ 17 июня 2010

Если вы не разрабатываете для очень ограниченного набора браузеров, это звучит как плохая идея. Если это работает вообще в более старых браузерах, это не будет работать хорошо; Пройдут годы, прежде чем мы сможем ожидать хорошей поддержки HTML 5 от всех распространенных браузеров.

...