浅谈HTML5

99 阅读3分钟

众所周知,html是针对浏览器的一种文档标记语言。而html5是其中的一个版本。这个版本新增了一些内容,该内容针对移动端应用也添加了部分新属性,因此我们在日常工作用说的H5也会是移动端应用。

html到现在分为几个部分呢?

  1. DOCTYPE的声明,告知浏览器使用的html版本。
  2. head头部,该头部编码声明,标题,style,javascript嵌入等。其中有一些常用并且重要的标签在头部起到帮助网络SEO搜索定位的作用。
    • title标签声明网络标题,该标题如果采用document.title的方式进行设置,则无法有效被网络爬虫搜索到。并且该标签存在唯一性,一个页面只允许出现一个标题。
    • meta声明当前页面的一些规范,具体内容有:
      <meta charset='utf-8'>字符编码
      
      <meta http-equiv="X-UA-Compatible" content="ie=edge"> `声明ie浏览器版本
      
      <meta name="description" content="页面描述" />
      
      <meta name="keywords" content="关键字"/>
      
      <meta name="author" content="name, yekongbiji@163.com" />
      
      <meta name ="viewport" content ="initial-scale=1, maximum-scale=3, minimum-scale=1, user-scalable=no">
      页面缩放
      
      <meta name="format-detection" content="telephone=no"/>
      忽略将页面中的数字识别为电话号码
      
      
    • link标签,用来引入外部样式或文件。其中<link rel="shortcut icon" type="image/ico" href="/favicon.ico" />用于设定网站页签图标。
  3. body用于页面内容的一个展现,我们所编写的css、html、javascript几乎所有的内容都是在body标签之中进行呈现。只不过我们常常采用外链javascript的方式进行修改。

在开发过程中,这是一个html将一个页面切割成的三个部分。一般情况下,项目构建完成之后只会修改body里面的内容。而html标签也都需要按照规范写在body当中。

html5新增的标签大概是这些内容。

语义化的布局标签

header:头部区域
nav:导航区域
main:主体区域
section:主体里的某一个分组
aside:分组里的侧边栏内容
article:分组里的正文
footer:页尾区域

多媒体控制器

video视频标签,属性:src:视频路径,loop循环播放,controls显示控制条,autoplay:自动播放。

audio音频标签,属性:src:音频路径,loop循环播放,controls显示控制条,autoplay:自动播放。

表单属性

// inputtype属性
color:生成rgb规格的颜色显示。
number:至于许输入0-9之间的数字
tel:电话号码,在手机端中会直接弹出数字输入框
date:生成日期
email:邮箱属性,在邮箱属性中定义好的正则表
url:输入网址属性,有已经定义号的正则
file:上传文件
range:滑块
submit:提交按钮

// 某些指定类型的额外树形
max:定义滑块的最大值
min:定义滑块的最小值
required:控制表单内容不能为空
autofocus:鼠标移入时获得焦点框
multiple:在声明file表单中可以选择上传多个文件
pattern:自定义正则表达式,在不匹配时弹出提示框
setCustomValidity:更改在声明表单中输入错误时的提示,此更改只能通过js中oninavlid事件更改

进度条progress

progress:进度条标签,默认值最大值1,最小值0.。在ie中,ie9以后才支持这个标签。
meter:ie完全不支持这个标签。
属性:
value:当前值。
max:修改最大值。
min:修改最小值。

获取dom元素的新方式

querySelector:找到第一个匹配的,只返回一个元素。
querySelectorAll:找到所有匹配的,返回的时一个对象,就算时一个元素也是对象

新增的这些标签都是为了满足软件产品的日新月异,在往后将会有更多的新增内容慢慢加入。而我们只需要时常保持关注即可。

当然这些新增的标签也并不是适用于所有浏览器,在使用过程中需要根据项目的兼容情况来进行选择性的使用。