作者 | 阮一峰

1、简介

网页元素的属性(attribute)可以定制元素的行为,不同的属性会导致元素有不同的行为。元素属性的写法是 HTML 标签内部的“键值对”。

<html lang="en">    

上面代码中,<html>标签内部的键值对lang="en",就称为html元素的属性。属性名为lang,属性值为en

属性名与标签名一样,不区分大小写,langLANG是同一个属性。

属性名与属性值之间,通过等号=连接。属性值可以放在单引号或双引号之中,建议统一使用双引号。某些属性值可以不使用引号,但是建议不要这样写。

有些属性是布尔属性,即属性值是一个布尔值,只有“打开”和“关闭”两种情况。这时属性值可以省略,只要添加了属性名,就表示打开该属性。

&lt;input type="text" required&gt;   

上面代码中,required就是<input>标签的布尔属性。如果加上这个属性,就表示打开,没有关闭就是关闭。

2、全局属性

全局属性(global attributes)是所有元素都可以使用的属性。也就是说,你可以把下面的属性,加在任意一个网页元素上面,不过有些属性对某些元素可能不产生意义。

下面是一些常见的全局属性。

2.1、id

id属性是元素在网页内的唯一标识符。比如,网页可能包含多个<p>标签,id属性可以指定每个<p>标签的唯一标识符。

&lt;p id="p1"&gt;&lt;/p&gt;
&lt;p id="p2"&gt;&lt;/p&gt;
&lt;p id="p3"&gt;&lt;/p&gt;  

上面代码中,三个<p>标签具有不同的id属性,因此可以区分。

id属性的值必须是全局唯一的,同一个页面不能有两个相同的id属性。另外,id属性的值不得包含空格。

id属性的值还可以在最前面加上#,放到 URL 中作为锚点,定位到该元素在网页内部的位置。比如,用户访问网址https://foo.com/index.html#bar的时候,浏览器会自动将页面滚动到bar的位置,让用户第一眼就看到这部分内容。

2.2、class

class属性用来对网页元素进行分类。如果不同元素的class属性值相同,就表示它们是一类的。

&lt;p class="para"&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p class="para"&gt;&lt;/p&gt; 

上面代码中,第一个<p>和第三个<p>是一类,因为它们的class属性相同。

元素可以同时具有多个 class,它们之间使用空格分隔。

&lt;p class="p1 p2 p3"&gt;&lt;/p&gt;  

上面的p元素同时具有p1p2p3三个 class。

2.3、title

title属性用来为元素添加附加说明。大多数浏览器中,鼠标悬浮在元素上面时,会将title属性值作为浮动提示,显示出来。

&lt;div title="版权说明"&gt;&lt;p&gt;本站内容使用创意共享许可证,可以自由使用。&lt;/p&gt;
&lt;/div&gt;    

上面代码中,title属性解释了这一块内容的目的。鼠标悬停在上面时,浏览器会显示一个浮动提示。一旦鼠标移开,提示就会消失。

2.4、tabindex

网页通常使用鼠标操作,但是某些情况下,用户可能希望使用键盘,或者只有键盘可以用。因此,浏览器允许使用 Tab 键,遍历网页元素。也就是说,只要不停按下 Tab 键,网页的焦点就会从一个元素转移到另一个元素,选定焦点元素以后,就可以进行下一步操作,比如按下回车键访问某个链接,或者直接在某个输入框输入文字。

这里就有一个问题,按下 Tab 键的时候,浏览器怎么知道跳到哪一个元素。HTML 提供了tabindex属性,解决这个问题。它的名字的含义,就是 Tab 的顺序(index)。

tabindex属性的值是一个整数,表示用户按下 Tab 键的时候,网页焦点转移的顺序。不同的属性值有不同的含义。

  • 负整数:该元素可以获得焦点(比如使用 JavaScript 的focus()方法),但不参与 Tab 键对网页元素的遍历。这个值通常是-1

  • 0:该元素参与 Tab 键的遍历,顺序由浏览器指定,通常是按照其在网页里面出现的位置。

  • 正整数:网页元素按照从小到大的顺序(1、2、3、……),参与 Tab 键的遍历。如果多个元素的tabindex属性相同,则按照在网页源码里面出现的顺序遍历。

&lt;p tabindex="0"&gt;这段文字可以获得焦点。&lt;/p&gt;  

上面代码中,<p>标签的tabindex0,意味着该元素可以获得焦点,并且也可以被 Tab 键遍历,顺序由其在源码里面的位置决定。

一般来说,tabindex属性最好都设成0,按照自然顺序进行遍历,这样比较符合用户的预期,除非网页有特殊布局。如果网页所有元素都没有设置tabindex,那么只有那些默认可以遍历的元素(比如链接、输入框等)才能参与 Tab 键的遍历,顺序由其在源码的位置决定。因此实际上,只有那些无法获得焦点的元素(比如<span><div>)需要参与遍历,才有必要设置tabindex属性。

2.5、accesskey

accesskey属性指定网页元素获得焦点的快捷键,该属性的值必须是单个的可打印字符。只要按下快捷键,该元素就会得到焦点。

&lt;button accesskey="s"&gt;提交&lt;/button&gt; 

上面代码中,<button>的快捷键是s,按下快捷键,该元素就得到了焦点。

accesskey属性的字符键,必须配合功能键,一起按下才会生效。也就是说,快捷键是“功能键 + 字符键”的组合。不同的浏览器与不同的操作系统,功能键都不一样。比如,Chrome 浏览器在 Windows 系统和 Linux 系统的快捷键是Alt + 字符键,在 Mac 系统的快捷键是Ctrl + Alt + 字符键

注意,accesskey如果跟操作系统或浏览器级别的快捷键有冲突,这时不会生效。

2.6、style

style属性用来指定当前元素的 CSS 样式。具体的设置,请看 CSS 教程。

&lt;p &gt;hello&lt;/p&gt;    

上面代码指定文字颜色为红色。

2.7、hidden

hidden是一个布尔属性,表示当前的网页元素不再跟页面相关,因此浏览器不会渲染这个元素,所以就不会在网页中看到它。

&lt;p hidden&gt;本句不会显示在页面上。&lt;/p&gt;   

上面代码中,这个p元素不会出现在网页上。

注意,CSS 的可见性设置,高于hidden属性。如果 CSS 设为该元素可见,hidden属性将无效。

2.8、lang,dir

lang属性指定网页元素使用的语言。

&lt;p lang="en"&gt;hello&lt;/p&gt;
&lt;p lang="zh"&gt;你好&lt;/p&gt;  

上面代码中,第一个<p>lang属性,表示使用英语,第二个<p>lang属性,表示使用中文。

lang属性的值,必须符合 BCP47 的标准。下面是一些常见的语言代码。

  • zh:中文

  • zh-Hans:简体中文

  • zh-Hant:繁体中文

  • en:英语

  • en-US:美国英语

  • en-GB:英国英语

  • es:西班牙语

  • fr:法语

dir属性表示文字的阅读方向,有三个可能的值。

  • ltr:从左到右阅读,比如英语。

  • rtl:从右到左阅读,阿拉伯语、波斯语、希伯来语都属于这一类。

  • auto:浏览器根据内容的解析结果,自行决定。

2.9、contenteditable

HTML 网页的内容默认是用户不能编辑,contenteditable属性允许用户修改内容。它有两个可能的值。

  • true或空字符串:内容可以编辑

  • false:不可以编辑

&lt;p contenteditable="true"&gt;
鼠标点击,本句内容可修改。
&lt;/p&gt;  

上面代码中,鼠标单击句子,就可以进入编辑状态,用户可以改变句子的内容。当然,除非提交到服务器,否则刷新页面还是显示原来的内容。

该属性是枚举属性,不是布尔属性,规范的写法是最好带上属性值。

2.10、spellcheck

浏览器一般会自带拼写检查功能,编辑内容时,拼错的单词下面会显示红色的波浪线。spellcheck属性就表示,是否打开拼写检查。

它有两个可能的值。

  • true:打开拼写检查

  • false:关闭拼写检查

&lt;p contenteditable="true" spellcheck="true"&gt;
英语单词 separate 容易写错成 seperate。
&lt;/p&gt;  

上面代码中,seperate下面会有提示,表示拼错了。

注意,由于该属性只在编辑时生效,所以这个例子必须加上contenteditable属性,表示本段内容可编辑。鼠标单击就可以进入编辑状态,这时才会看到拼写提示。不可编辑的状态下,拼写错误是不提示显示的。对于那些不可编辑的元素,该属性无效。

这个属性看上去像布尔属性,但是其实是枚举属性,所以最好不要省略它的值。如果没有指定这个属性,浏览器将自行决定是否打开拼写检查。

3、事件处理属性

除了上面这些属性,全局属性还包括事件处理属性(event handler),用来响应用户的动作。这些属性的值都是 JavaScript 代码,请参考 JavaScript 教程,这里只列出这些属性的名单。

onabort, onautocomplete, onautocompleteerror, onblur, oncancel,
oncanplay, oncanplaythrough, onchange, onclick, onclose,
oncontextmenu, oncuechange, ondblclick, ondrag, ondragend,
ondragenter, ondragexit, ondragleave, ondragover, ondragstart,
ondrop, ondurationchange, onemptied, onended, onerror, onfocus,
oninput, oninvalid, onkeydown, onkeypress, onkeyup, onload,
onloadeddata, onloadedmetadata, onloadstart, onmousedown,
onmouseenter, onmouseleave, onmousemove, onmouseout, onmouseover,
onmouseup, onmousewheel, onpause, onplay, onplaying, onprogress,
onratechange, onreset, onresize, onscroll, onseeked, onseeking,
onselect, onshow, onsort, onstalled, onsubmit, onsuspend,
ontimeupdate, ontoggle, onvolumechange, onwaiting

【HTML 教程】网页元素的属性相关推荐

  1. 03 # 网页元素的属性

    说明 网道HTML 教程学习笔记 1.简介 网页元素的属性(attribute)可以定制元素的行为,不同的属性会导致元素有不同的行为. 注意: 1.属性名与标签名一样,不区分大小写. 2.属性名与属性 ...

  2. 网页定位(position属性、相对定位、绝对定位、固定定位、z-index、设置透明度)

    position属性 static:默认值,没有定位 relative:相对定位,相对于自己原来的位置进行偏移 absolute:绝对定位,以它最近一个已经定位的祖先元素为基准进行偏移 fixed:固 ...

  3. 前端:HTML5/36/HTML5简介,文档类型定义,网页字符集,页面结构标记,文章相关的标记,其它标记,音频标记,视频标记,表单中新增的属性,表单input元素type属性的值

    HTML5简介 HTML5是新一代的HTML: HTML5目前主要应用在手机端,在PC端最新浏览器已经开始支持了,但还不全面: HTML5是由W3C和WHATWG合作的结果: W3C是万维网联盟,主要 ...

  4. seleniumpython定位网页元素方法_使用Selenium对网页元素进行定位的诸种方法

    使用Selenium进行自动化操作,首先要做的就是通过webdriver的get()方法打开一个URL链接. 在打开链接,完成页面加载之后,就可以通过Selenium提供的接口,在页面上进行各种操作了 ...

  5. html文本框如何做出立体效果,CSS教程:网页input输入框立体效果

    CSS教程:网页input输入框立体效果 互联网   发布时间:2009-04-02 19:34:50   作者:佚名   我要评论 网页制作Webjx文章简介:去年常常玩开心网,耗在上面的时间也不少 ...

  6. html 图片局边框的边距,0032 如何使用css调整网页元素的边距和边框

    原标题:0032 如何使用css调整网页元素的边距和边框 上节课,将css文件独立为一个样式文件,达到了将内容和样式进行分离的目的. 这节课,要学习如何调整网页元素的边距和边框. 上节课的课后练习 使 ...

  7. python web自动化元素定位_快速掌握Python Selenium Web自动化:三)在Selenium中定位查找网页元素的诸类方法...

    使用Selenium进行自动化操作,首先要做的就是通过webdriver的get()方法打开一个URL链接. 在打开链接,完成页面加载之后,就可以通过Selenium提供的接口,在页面上进行各种操作了 ...

  8. Xamarin XAML语言教程对象元素的声明方式

    Xamarin XAML语言教程对象元素的声明方式 XAML的对象元素的声明有两种形式,分别为包含属性的特性语法形式以及对象元素语法形式.在1.4小节中,我们看到了其中一种对XAML对象元素的声明方式 ...

  9. XAML实例教程系列 – 对象和属性

    在前一篇已经介绍XAML概念:"XAML语言是Extensible Application Markup Language的简称,英文发音是"zammel",中文称为&q ...

最新文章

  1. MyBatis中#{}和${}的区别
  2. C语言实现的Web服务器(转-kungstriving)
  3. Linux下打造仿Mac系统桌面
  4. redis和kafka的写性能对比
  5. 11、1.4.3 测试JDK安装成功
  6. 清华计算机系女生每天看这些公众号
  7. Ajax异步刷新,测试用户名是否被注册
  8. 【计算电磁学】真空中电磁波传播的MATLAB一维FDTD仿真程序
  9. CAJ论文格式转PDF(附带书签)
  10. Visio对一个对象进行水平翻转
  11. 基于Python的随机森林(RF)回归与变量重要性影响程度分析
  12. chrome 91版本 解决跨域请求SameSite
  13. 实现Excel里每个sheet的排序并整合在一个sheet里
  14. 扬帆际海—移动端流量对跨境电商有多重要?
  15. 控制台报错:Warning: Encountered two children with the same key, `xx`. Keys should be unique
  16. 静息态功能磁共振及其在精神疾病诊断中的应用
  17. 20051111: 最近玩WOW好像太多了
  18. 浏览器清理缓存快捷键
  19. 优化新闻管理系统(分层)+代码封装
  20. 解决“手机能胜场使用校园网 笔记本电脑连接不上校园网或者连接上不可用”的问题

热门文章

  1. MTK Android 11 预装可卸载APP
  2. DeviceOne开发技术周报第二期-技术文章、优秀项目展示(四季旅行网,爱抢券)...
  3. 大师们的投资之道(十三)
  4. 多多评价怎么显示第一个_拼多多商品质量分哪里看?怎么看评分?
  5. 音乐探索3:关于放克
  6. 比尔-盖茨2010年年信:世界首富的幸福观
  7. Java——Scanner对象
  8. 操作系统-计算机硬件简介
  9. 天易26----java导出excel表格(支持wps和office excel)
  10. 北京理工大学计算机学院乔磊,余月_北京理工大学计算机学院