HTML Boolean Attributes_html/css_WEB-ITnose
有时在阅读别人的 HTML 代码时,会发现在写 / <input type="checkbox">/
前几天,我突然发现我没有搞清楚 HTML 布尔属性假如有值的话,哪些是合法值,我竟然认为 空字符串和 "false"表示 假值,然后看规范才明白不是这样。
HTML 布尔属性(Boolean attributes)
HTML5 规范说:
… A number of attributes are boolean attributes. The presence of a boolean attribute on an element represents the true value, and the absence of the attribute represents the false value.
If the attribute is present, its value must either be the empty string or a value that is an ASCII case-insensitive match for the attribute’s canonical name, with no leading or trailing whitespace.
以及:
The values “true” and “false” are not allowed on boolean attributes. To represent a false value, the attribute has to be omitted altogether.
所以,如果要表示 <input type="checkbox">选中的写法有:
<input type="checkbox" checked><input type="checkbox" checked="checked"><input type="checkbox" checked="">
如果表示不选中,则不能出现 checked属性:
<input type="checkbox">
个人对于空字符串可作为合法值不太赞同,感觉会给人一种不选中的误导。
checked与 checked="checked"区别
在 W3C 的 HTML 4.01 规范中已经有 Boolean attributes 的说明,里面提到了:
Authors should be aware that many user agents only recognize the minimized form of boolean attributes and not the full form.
当然,现在主流的浏览器都支持 checked="checked"这种写法的,所以实际使用效果没有区别。
其区别主要在于: checked字符少,简洁直观;而使用 checked="checked"的理由主要是在 XHTML 中,只写 checked不合法,但是我们通常是在写 HTML5,所以没什么理由写 checked="checked"。
布尔属性(Boolean attributes)列表
截止该文章书写时有 39 个:
allowFullscreenasyncautofocusautoplaycheckedcompactcontrolsdeclaredefaultdefaultCheckeddefaultMuteddefaultSelecteddeferdisableddraggableenabledformNoValidatehiddenimageSmoothingEnabledindeterminateisMaploopmultiplemutednoHrefnoResizenoShadenoValidatenoWrapopenpauseOnExitreadOnlyrequiredreversedselectedspellchecktranslatetrueSpeedtypeMustMatch
上面列表获取方法:WHATWG HTML 规范在 Github 上面的仓库( https://github.com/whatwg/html)
git clone https://github.com/whatwg/htmlcd html# cat source | grep "attribute boolean" 之后手工处理,或执行下面代码cat source | grep "attribute boolean" | grep -v "readonly attribute boolean" | grep -oE "\">[A-Za-z]{1,}</span>" | awk -F'>|<' '{print $2}' | sort | uniq
Boolean attributes in React
React的 JSX 语法与 HTML 有所不同,在 JSX 中,可以传入 true表示设置该布尔属性,传入 false表示不设置该属性,如:
表示选中复选框:
<input type="checkbox" checked /><input type="checkbox" checked={true} />
表示不选中复选框:
<input type="checkbox" /><input type="checkbox" checked={false} />

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Der Artikel erörtert den HTML & lt; Progress & gt; Element, Absicht, Styling und Unterschiede vom & lt; Meter & gt; Element. Das Hauptaugenmerk liegt auf der Verwendung & lt; Fortschritt & gt; Für Aufgabenabschluss und & lt; Meter & gt; für stati

In Artikel werden Best Practices zur Gewährleistung der HTML5-Cross-Browser-Kompatibilität erörtert und sich auf die Erkennung von Merkmalen, die progressive Verbesserung und die Testmethoden konzentriert.

Der Artikel erörtert den HTML & lt; Datalist & gt; Element, das die Formulare verbessert, indem automatische Vorschläge bereitgestellt, die Benutzererfahrung verbessert und Fehler reduziert werden.Character Count: 159

In dem Artikel werden unter Verwendung von HTML5 -Formularvalidierungsattributen wie Erforderlich, Muster, Min, MAX und Längengrenzen erörtert, um die Benutzereingabe direkt im Browser zu validieren.

Der Artikel erörtert das HTML & lt; Meter & gt; Element, verwendet zur Anzeige von Skalar- oder Bruchwerten innerhalb eines Bereichs und seine gemeinsamen Anwendungen in der Webentwicklung. Es differenziert & lt; Meter & gt; von & lt; Fortschritt & gt; und Ex

In dem Artikel wird das Ansichtsfenster -Meta -Tag erörtert, das für das reaktionsschnelle Webdesign auf mobilen Geräten unerlässlich ist. Es wird erläutert, wie die ordnungsgemäße Verwendung eine optimale Skalierung von Inhalten und Benutzerinteraktion gewährleistet, während Missbrauch zu Design- und Zugänglichkeitsproblemen führen kann.

Der Artikel erörtert das & lt; iframe & gt; Der Zweck von Tag, externe Inhalte in Webseiten, seine gemeinsamen Verwendungen, Sicherheitsrisiken und Alternativen wie Objekt -Tags und APIs einzubetten.

HTML ist für Anfänger geeignet, da es einfach und leicht zu lernen ist und schnell Ergebnisse sehen kann. 1) Die Lernkurve von HTML ist glatt und leicht zu beginnen. 2) Beherrschen Sie einfach die grundlegenden Tags, um Webseiten zu erstellen. 3) hohe Flexibilität und kann in Kombination mit CSS und JavaScript verwendet werden. 4) Reiche Lernressourcen und moderne Tools unterstützen den Lernprozess.
