Кажется, я припоминаю, что большинство (возможно, все) атрибутов в предыдущих версиях HTML (до HTML5) требовали, чтобы атрибуты имели значения, например readonly="readonly".
Я согласен, что они похожи, но немного отличаются, поскольку они спрашивают о разных атрибутах.
Darryl Hein
1
только автофокус работает. протестировал его в FF, Opera и Chrome ..
Сохаил Ариф
Ответы:
94
В HTML вы можете использовать логические атрибуты со значениями или без них по своему усмотрению. Логическое, для W3C, как автофокусировкой может быть записан так autofocusили autofocus="autofocus"или же autofocus="".
Если вам не нужен автофокус, просто не пишите об этом.
Я думаю , что вы смущены , потому что XHTML требует значений для всех атрибутов: attributes="values".
+1 за упоминание XHTML. Соответствие XML XHTML - единственная причина, по которой когда-либо существовал disabled="disabled". То же самое и с закрывающими тегами. В HTML не нужно закрывать каждый тег (например, br или input), но поскольку XHTML должен быть допустимым XML, вам также нужны закрывающие теги.
Тим Бют
4
«XHTML - единственная причина, по которой когда-либо существовал disabled="disabled"». И SGML - единственная причина, по которой XHTML имеет silly="silly"синтаксис bool, а не просто whatever="true", а HTML - единственная причина, почему это this="false"может означать this = true. :)
Sz.
52
Цитируя спецификацию HTML5 и немного расширяя Pekka:
Наличие логического атрибута в элементе представляет истинное значение, а отсутствие атрибута представляет ложное значение.
Если атрибут присутствует, его значение должно быть либо пустой строкой, либо значением, которое является нечувствительным к регистру ASCII совпадением для канонического имени атрибута, без начальных или конечных пробелов.
Вывод :
Следующее является действительным, эквивалентным и истинным :
Отсутствие атрибута - единственный допустимый синтаксис для false :
<inputtype="text"/>
Рекомендация
Если вы заботитесь о написании действительного XHTML, используйте autofocus="autofocus", поскольку <input autofocus>недопустим, а другие альтернативы менее читабельны. В противном случае просто используйте, так <input autofocus>как он короче.
Нет , достаточно указать сам атрибут. Так было и в HTML 4 .
Ряд атрибутов являются логическими атрибутами . Наличие логического атрибута в элементе представляет истинное значение, а отсутствие атрибута представляет ложное значение.
Если атрибут присутствует, его значение должно быть либо пустой строкой, либо значением, которое является нечувствительным к регистру ASCII совпадением для канонического имени атрибута, без начальных или конечных пробелов.
Ответы:
В HTML вы можете использовать логические атрибуты со значениями или без них по своему усмотрению. Логическое, для W3C, как автофокусировкой может быть записан так
autofocus
илиautofocus="autofocus"
или жеautofocus=""
.Если вам не нужен автофокус, просто не пишите об этом.
Я думаю , что вы смущены , потому что XHTML требует значений для всех атрибутов:
attributes="values"
.Вот некоторая информация об использовании логических атрибутов в HTML: http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#boolean-attribute
источник
disabled="disabled"
. То же самое и с закрывающими тегами. В HTML не нужно закрывать каждый тег (например, br или input), но поскольку XHTML должен быть допустимым XML, вам также нужны закрывающие теги.disabled="disabled"
». И SGML - единственная причина, по которой XHTML имеетsilly="silly"
синтаксис bool, а не простоwhatever="true"
, а HTML - единственная причина, почему этоthis="false"
может означать this = true. :)Цитируя спецификацию HTML5 и немного расширяя Pekka:
http://www.w3.org/TR/html5/forms.html#autofocusing-a-form-control:-the-autofocus-attribute :
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :
Вывод :
Следующее является действительным, эквивалентным и истинным :
<input type="text" autofocus /> <input type="text" autofocus="" /> <input type="text" autofocus="autofocus" /> <input type="text" autofocus="AuToFoCuS" />
Следующие недействительны :
<input type="text" autofocus="0" /> <input type="text" autofocus="1" /> <input type="text" autofocus="false" /> <input type="text" autofocus="true" />
Отсутствие атрибута - единственный допустимый синтаксис для false :
<input type="text"/>
Рекомендация
Если вы заботитесь о написании действительного XHTML, используйте
autofocus="autofocus"
, поскольку<input autofocus>
недопустим, а другие альтернативы менее читабельны. В противном случае просто используйте, так<input autofocus>
как он короче.источник
Нет , достаточно указать сам атрибут. Так было и в HTML 4 .
Пример:
<label><input type=checkbox checked name=cheese disabled> Cheese</label>
источник