《HTML 5+CSS 3入门经典》——2.3 全局属性

简介: 本节书摘来自华章计算机《HTML 5+CSS 3入门经典》一书中的第2章,第2.3节,作者:管媛辉 潘凯华著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.3 全局属性

HTML 5中新增了“全局属性”概念。所谓全局属性,是指可以对任何元素都使用的属性。下面将详细介绍几个常用的全局属性。
2.3.1 contentEditable属性
contentEditable由Microsoft发明,经过反向工程后由所有其他浏览器实现,现在成为HTML的正式的部分。
该属性的主要功能是允许用户编辑元素中的内容,所以该元素必须是可以获得鼠标焦点的元素,而且在点击鼠标后要向用户提供一个插入符号,提示用户该元素中的内容允许编辑。
contentEditable是一个布尔类型属性,因此可以将其设置为true或false。
除此之外,该属性还有个隐藏的inherir(继承)状态。属性为true时,元素被指定为允许编辑;属性为false时,元素被指定为不允许编辑;未指定true或false时,则由inherir状态来决定,如果元素的父元素是可编辑的,则该元素就是可编辑的。
另外,除了contentEditable属性外,元素还具有iscontentEditable属性。当元素可编辑时,该属性为true;当元素不可编辑时,该属性为false。
下面是一个使用contentEditable属性的实例,当列表元素被加上contentEditable属性后,该元素就变成可编辑的了。实例代码如下。
image
运行这段代码,效果如图2.1所示。在编辑完元素中的内容后,如果想要保存其中的内容,只能把该元素的innerHTML发送到服务器进行保存,因为改变元素内容后该元素的innerHTML内容也会随之改变,目前还没有特别的API来保存编辑后元素中的内容。image
2.3.2 designMode属性
designMode属性用来指定整个页面是否可编辑,当页面可编辑时,页面中任何支持上文所述的contentEditable属性的元素都变成了可编辑状态。designMode属性只能在JavaScript脚本里被编辑修改。该属性有两个值——on与off。
当属性被指定为on时,页面可编辑;被指定为off时,页面不可编辑。使用JavaScript脚本来指定designMode属性的方法如下所示。
image
2.3.3 hidden属性
hidden属性类似于aria-hidden,它告诉浏览器这个元素的内容不应该以任何方式显示。但是元素中的内容还是浏览器创建的,也就是说,页面装载后允许使用JavaScript脚本将该属性取消,取消后该元素变为可见状态,同时元素中的内容也即时显示出来。hidden属性是一个布尔型的属性,当设为true时,元素处于不可见状态;当设为false时,元素处于可见状态。
2.3.4 spellcheck属性
spellcheck属性是布尔型的属性,它告诉浏览器检查元素的拼写和语法。如果没有这个属性,默认的状态表示元素根据默认行为来操作,可能是根据父元素自己的spellcheck状态。因为spellcheck属性属于布尔型属性,因此它具有true和false两种值。但是它在书写时有一个特殊的地方,就是必须明确声明属性值为true或false,书写方法如下所示。
image
该属性在Opera浏览器上的表现形式如图2.2所示。

image


2.3.5 tabindex属性
tabindex是一个旧的概念,指当用户使用键盘导航一个页面(通常使用Tab键,尽管某些浏览器,如最著名的Opera,可能使用不同的键组合来导航)时,页面上的元素获得焦点的顺序。
当站点使用深度嵌套的布局表格来构建时,这非常常用,但是如今这已经不再那么常用了。默认的标签页顺序是由元素出现在标记中的顺序来决定的,因此顺序正确和结构良好的文档应该不再需要额外的标签页顺序来提示。
tabindex属性还有一个用处。通常只有链接、表单元素和图像映射区域可以通过键盘获得聚焦。添加一个tabindex可以使得其他元素也成为可聚焦的,因此从JavaScript执行focus命令,就可以把浏览器的焦点移动到它们上。这也会使得这些元素成为键盘可聚焦的,这可不是我们想要的结果。
使用一个负整数允许元素通过编程来获得焦点,但是不应该允许使用顺序聚焦导航来到达元素。在HTML 4中,“-1”对于属性来说是一个无效的值,并且在除表单字段和链接以外的任何元素上,该属性自身也是无效的。然而它已经在浏览器中生效了,并且它解决了一个真正的问题,HTML 5使其变为到处合法有效。
相关文章
|
23天前
|
移动开发 HTML5
HTML5 表单属性3
`<input>` 标签的 `formaction`、`formenctype` 和 `formmethod` 属性分别用于指定表单提交的 URL 地址、数据编码类型和提交方法,这些属性可覆盖 `<form>` 标签中的相应属性,并且主要适用于 `type="submit"` 和 `type="image"` 的输入类型。
|
22天前
|
移动开发 JavaScript 前端开发
HTML5 表单属性7
`pattern` 属性使用正则表达式验证 `<input>` 元素的值,适用于 `text`, `search`, `url`, `tel`, `email`, 和 `password` 类型。
|
22天前
|
移动开发 UED HTML5
HTML5 表单属性6
`min`、`max` 和 `step` 属性用于限制 `<input>` 标签中的数值或日期范围。例如,可以设置日期选择器的最早和最晚日期,或限制数字输入框的值范围。`multiple` 属性允许在 `<input>` 中选择多个值,适用于邮箱和文件类型。这些属性增强了表单控件的功能性和用户体验。
|
22天前
|
移动开发 HTML5
HTML5 表单属性5
`height` 和 `width` 属性用于 `<input>` 标签中的 `image` 类型,定义图像的高度和宽度。
|
23天前
|
移动开发 HTML5
HTML5 表单属性4
`formnovalidate` 属性是一个布尔属性,用于 `<input>` 元素,指示该输入在表单提交时不需验证,可覆盖 `<form>` 元素的 `novalidate` 属性,常与 `type="submit"` 一起使用。示例中展示了如何通过两个提交按钮(一个使用验证,另一个不使用)实现不同的表单提交方式。
|
23天前
|
移动开发 JavaScript 前端开发
HTML5 表单属性2
`novalidate` 是 HTML `<form>` 元素的布尔属性,用于禁用浏览器的默认表单验证功能。当此属性存在时,浏览器不会检查表单字段是否符合预设的验证规则,允许开发者通过 JavaScript 等手段自定义验证逻辑。
|
25天前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
51 7
|
25天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
32 6
|
21天前
|
移动开发 数据安全/隐私保护 HTML5
HTML5 表单属性8
`required`属性确保表单提交前输入框不能为空,适用于多种类型的 `<input>` 标签,如文本、邮箱、密码等。`step`属性则用于指定输入域中合法数值的间隔,常与`max`和`min`属性配合使用,适用于数字、日期等类型。例如,设置`<input type="number" step="3">`可使输入值以3为单位递增或递减。
|
25天前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
37 5