уникальное значение идентификатора в HTML - PullRequest
3 голосов
/ 22 декабря 2010

Это вопрос скорее из любопытства, чем из-за застревания.Я знаю, что в HTML идентификатор должен быть уникальным, и я вижу ошибку в проверке HTML.Тем не менее, браузеры успешно применяют таблицы стилей к обоим элементам.Это потому, что они более расслаблены в разборе или как?Означает ли это, что я могу использовать это для стиля и т. Д. Или у него есть побочные эффекты.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>

<style type="text/css">
  #abc { color: red; }
</style>
</head>
<body>
  <div id="abc">Hello Div 1</div>
  <div id="abc">Hello Div 2</div>
</body>
</html>

Вывод в браузерах.

Ответы [ 3 ]

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

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

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

Конечно, это не значит, что вам не следует писать корректный HTML.

0 голосов
/ 22 декабря 2010

используйте "класс" для настройки CSS.

побочный эффект: вы будете чувствовать себя менее комфортно, когда захотите использовать getElementById и добавить динамическую функциональность. с точки зрения дизайна не имеет значения.

0 голосов
/ 22 декабря 2010

Я бы не стал полагаться на такое поведение. Как вы уже знаете, иметь два элемента с одинаковым идентификатором просто неправильно.

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

Стилизация нескольких элементов должна выполняться с помощью CSS-классов .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...