《HTML 5与CSS 3 权威指南(第3版·上册)》——2.4 全局属性

简介:

本节书摘来自华章出版社《HTML 5与CSS 3 权威指南(第3版·上册)》一 书中的第2章,第2.4节,作者:陆凌牛,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.4 全局属性

在HTML 5中,新增了一个“全局属性”的概念。所谓全局属性,是指可以对任何元素都使用的属性,本节将详细介绍几种常用的全局属性。

2.4.1 contentEditable属性

contentEditable是由微软开发的,被其他浏览器反编译并投入应用的一个全局属性。该属性的主要功能是允许用户编辑元素中的内容,所以该元素必须是可以获得鼠标焦点的元素,而且在点击鼠标后要向用户提供一个插入符号,提示用户该元素中的内容允许编辑。contentEditable属性是一个布尔值属性,可以被指定为true或false。
除此之外,该属性还有个隐藏的inherit(继承)状态,当属性值为true时,元素被指定为允许编辑;当属性值为false时,元素被指定为不允许编辑;当未指定true或false时,则由inherit状态来决定,如果元素的父元素是可编辑的,则该元素就是可编辑的。
另外,除了contentEditable属性外,元素还具有一个isContentEditable属性,当元素可编辑时,该属性值为true;当元素不可编辑时,该属性值为false。
代码清单2-2中给出了一个使用contentEditable属性的示例,当列表元素被加上contentEditable属性后,该元素就变成可编辑的了,读者可自行在浏览器中对该示例进行
试验。
代码清单2-2 contentEditable属性示例

<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title>conentEditalbe属性示例</title>
</head>
<h2>可编辑列表</h2>
<ul contentEditable="true">
<li>列表元素1</li>
<li>列表元素2</li>
<li>列表元素3</li>
</ul>```
这段代码运行后的结果如图2-2所示。

<div style="text-align: center"><img src="https://yqfile.alicdn.com/28e0b65372387d1dfb56593bfb4d2c4821771473.png" width="" height="">
</div>

在编辑完元素中的内容后,要想保存其中内容,只能把该元素的innerHTML发送到服务器端进行保存,因为改变元素内容后该元素的innerHTML内容也会随之改变,目前还没有特别的API来保存编辑后元素中的内容。
最后,在这里列举一下支持contentEditable属性的元素:defaults、A、ABBR、ACRONYM、ADDRESS、B、BDO、BIG、BLOCKQUOTE、BODY、BUTTON、CENTER、CITE、CODE、CUSTOM、DD、DEL、DFN、DIR、DIV、DL、DT、EM、FIELDSET、FONT、FORM、hn、I、INPUT type=button、 INPUT type=password、INPUT type=radio、INPUT type=reset、INPUT type=submit、INPUT type=text、INS、ISINDEX、KBD、LABEL。
####2.4.2 designMode属性
designMode属性用来指定整个页面是否可编辑,当页面可编辑时,页面中任何支持上文所述的contentEditable属性的元素都变成了可编辑状态。designMode属性只能在JavaScript脚本中被编辑修改。该属性有两个值——“on”与“off”。当该属性值被指定为“on”时,页面可编辑;当该属性值被指定为“off”时,页面不可编辑。使用JavaScript脚本来指定designMode属性的方法如下所示:

document.designMode="on"`
针对designMode属性,各浏览器的支持情况也各不相同:
IE 8:出于安全考虑,不允许使用designMode属性让页面进入编辑状态。
IE 9:允许使用designMode属性让页面进入编辑状态。
Chrome 3和Safari:使用内嵌frame的方式,该内嵌frame是可编辑的。
Firefox和Opera:允许使用designMode属性让页面进入编辑状态。

2.4.3 hidden属性

在HTML 5中,所有的元素都允许使用一个hidden属性。该属性类似于input元素中的hidden元素,功能是通知浏览器不渲染该元素,使该元素处于不可见状态。但是元素中的内容还是被浏览器创建的,也就是说页面装载后允许使用JavaScript脚本将该属性取消,取消后该元素变为可见状态,同时元素中的内容也即时显示出来。hidden属性是一个布尔值的属性,当设为true时,元素处于不可见状态;当设为false时,元素处于可见状态。

2.4.4 spellcheck属性

spellcheck属性是HTML 5针对input元素(type=text)与textarea这两个文本输入框提供的一个新的属性,它的功能对用户输入的文本内容进行拼写和语法检查。spellcheck属性是一个布尔值的属性,具有true或false两种值。但是它在书写时有一个特殊的地方,就是必须明确声明属性值为true或false,书写方法如下所示:

<!—以下两种书写方法正确-->
<textarea spellcheck="true" >
<input type=text spellcheck=false>
<!—以下书写方法为错误-->
<textarea spellcheck >```
需要注意的是,如果元素的readOnly属性或disabled属性设为true,则不执行拼写检查。
目前除了IE之外,Firefox、Chrome、Safari、Opera等浏览器都对该属性提供了支持。
图2-3为Opera浏览器中spellcheck属性的表现形式。

<div style="text-align: center"><img src="https://yqfile.alicdn.com/4cdacbcb38c7931dddea48ab21812c87bda3f826.png" width="" height="">
</div>

####2.4.5 tabindex属性
tabindex是开发中的一个基本概念,当不断敲击Tab键让窗口或页面中的控件获得焦点,当对窗口或页面中的所有控件进行遍历的时候,每一个控件的tabindex表示该控件是第几个被访问到的。
过去这个属性在编辑网页时是非常有用的,但如今控件的遍历顺序是由元素在页面上所处位置决定的,所以就不再需要了。
但是tabindex还有另外一个作用,在默认情况下,只有链接元素与表单元素可以通过按键获得焦点。如果对其他元素使用tabindex属性后,也能让该元素获得焦点,那么当脚本中执行focus()语句的时候,就可以让该元素获得焦点。但这样做会产生一个副作用:该元素也可以通过按Tab键获得焦点,而这有时可能不是开发者想要的结果。
相关文章
|
22小时前
|
Web App开发 存储 前端开发
【JavaEE初阶】 CSS相关属性,元素显示模式,盒模型,弹性布局,Chrome 调试工具||相关讲解
【JavaEE初阶】 CSS相关属性,元素显示模式,盒模型,弹性布局,Chrome 调试工具||相关讲解
|
1天前
|
前端开发 数据安全/隐私保护
从建站到拿站 -- HTML和CSS基础
从建站到拿站 -- HTML和CSS基础
6 0
|
2天前
|
前端开发 JavaScript
从零开始学习前端开发:HTML、CSS、JavaScript入门指南
【2月更文挑战第1天】本文将带领读者从零开始学习前端开发,介绍HTML、CSS和JavaScript的基础知识与应用,帮助读者快速入门前端开发领域。
17 1
|
4天前
|
移动开发 前端开发 JavaScript
[HTML、CSS]知识点
[HTML、CSS]知识点
34 0
[HTML、CSS]知识点
|
4天前
|
移动开发 前端开发 JavaScript
[HTML、CSS]细节、经验
[HTML、CSS]细节、经验
28 0
[HTML、CSS]细节、经验
|
16天前
|
移动开发 前端开发 JavaScript
H5+CSS3+JS逆向前置——HTML2、table表格标签
H5+CSS3+JS逆向前置——HTML2、table表格标签
14 0
|
16天前
|
移动开发 前端开发 JavaScript
H5+CSS3+JS逆向前置——HTML1、H5文本元素
H5+CSS3+JS逆向前置——HTML1、H5文本元素
16 0
|
16天前
|
移动开发 前端开发 JavaScript
H5+CSS3+JS逆向前置——HTML1、H5基础
H5+CSS3+JS逆向前置——HTML1、H5基础
21 0
|
18天前
|
前端开发 JavaScript UED
动态伸缩搜索框:HTML, CSS, JavaScript的完美结合
动态伸缩搜索框:HTML, CSS, JavaScript的完美结合
24 1
|
19天前
|
前端开发 开发者
「提高你的CSS技能」:15个重要的CSS属性详解
这篇文章介绍了15个重要的CSS属性,旨在提高读者的CSS知识和技能。文章以清晰的方式解释了每个属性的作用和用法,并提供了相应的示例代码。通过这篇文章,读者可以了解到一些有趣且实用的CSS属性。