HTML Boolean Attributes_html/css_WEB-ITnose 程序员文章站 2022-05-21 14:14:13 ... 有时在阅读别人的 HTML 代码时,会发现在写 / / 时经常将“选中”状态属性写成 checked="checked"/ selected="selected"。而我了解到 checked/ selected属性属于布尔属性(Boolean attributes):即该属性出现表示 真值,不出现表示 假值,所以完全没必要多敲几个字符。 前几天,我突然发现我没有搞清楚 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. 所以,如果要表示 选中的写法有: 如果表示不选中,则不能出现 checked属性: 个人对于空字符串可作为合法值不太赞同,感觉会给人一种不选中的误导。 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,} 相关标签: HTML Boolean Attributes 上一篇: SQL语句的基本语法 下一篇: CSS 定位之position_html/css_WEB-ITnose 推荐阅读 Bootstrap组件之Glyphicons字体图标_html/css_WEB-ITnose HTML常用标签之超链接标签_html/css_WEB-ITnose CSS3透明属性opacity_html/css_WEB-ITnose CSS的opacity属性_html/css_WEB-ITnose 一款纯css3实现的颜色渐变按钮_html/css_WEB-ITnose 关于网页路径的疑惑_html/css_WEB-ITnose Codeforces Round #156 (Div. 2)-A. Greg's Workout_html/css_WEB-ITnose html 关于ul标签的_html/css_WEB-ITnose background-size 设置背景图片的大小_html/css_WEB-ITnose multiple backgrounds 多重背景_html/css_WEB-ITnose