Можно ли закрыть промежуток с помощью <span />? - PullRequest
41 голосов
/ 12 мая 2010
<span class="drop" />

Можно ли таким образом закрывать участки HTML?

Ответы [ 10 ]

41 голосов
/ 12 мая 2010

Является ли это действительным, зависит от вашего типа документа , в основном от того, используете ли вы XHTML или HTML.

При использовании XHTML все основные браузеры будут поддерживать самозакрывающиеся теги, как в приведенном вами примере. Возьмите следующий пример, это верно, потому что я указываю, что страница использует XHTML (другими словами, HTML, который является допустимым XML).

Обновление: Основываясь на очень хороших комментариях ниже, браузеры будут правильно интерпретировать все самозакрывающиеся теги, если тип mime text/xml или application/xhtml+xml, см. здесь детали. Для страниц, используемых как text/html (подавляющее большинство), см. здесь здесь для тегов, которые могут быть самозакрывающимися.

Этот пример будет проверен:

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

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
    <h2>Will test page</h2>
    <p>some stuff <span class="drop" /></p>
</body>
</html>

Однако этот пример недопустим, потому что я переключил doctype на HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
    <h2>Will test page</h2>
    <p>some stuff <span class="drop" /></p>
</body>
</html>

Несколько полезных ссылок:

12 голосов
/ 12 мая 2010

Нет, это поддерживается не всеми браузерами.
Вот пример с divs: http://jsbin.com/upovu

1 голос
/ 12 мая 2010

Тестирование следующего фрагмента на validator.w3.org :

<p><span class="drop" /></p>

Проверка как HTML 4.01 Строгая

# end tag for "SPAN" omitted, but its declaration does not permit this

Подтверждение как XHTML 1.0 Strict

# The uploaded document was successfully checked as XHTML 1.0 Strict.
0 голосов
/ 12 мая 2010

Вы должны написать совместимый с HTML XHTML, если вы хотите использовать его как text / html, и вы должны использовать его как text / html, если хотите, чтобы он работал в IE.

0 голосов
/ 12 мая 2010

Самый простой способ проверить это http://validator.w3.org/

И ответ - нет.

0 голосов
/ 12 мая 2010

Это то, что спецификация говорит для HTML 4.01 и для XHTML 1.0 .

Нет, это контейнер в отличие от изображения или (устаревшего) горизонтального правила.

0 голосов
/ 12 мая 2010

Нет, это не так. Вы можете закрыть, как это только, если вы не можете вставить в тег что-то Например: вы не можете вставить тег или текст внутри тега img , поэтому вы можете закрыть тег как этот

0 голосов
/ 12 мая 2010

Насколько я знаю, это можно использовать, только если для Doctype установлено значение Xhtml.

0 голосов
/ 12 мая 2010

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

Однако, чтобы ответить на ваш вопрос, да, размещенный HTML-код блока действителен.

0 голосов
/ 12 мая 2010

Нет http://www.w3schools.com/tags/tag_span.asp

Тег span полезен для подключения CSS к определенному сегменту текста или части документа. Я не могу вспомнить ни одной полезной / разумной причины, по которой тег span сам закрывался бы.

...