HTML5知识整理

https://juejin.cn/post/6844903520953450509

1、新增的全局属性:contentEditable、designMode(on/off:页面可编辑/不可编辑)、hidden、spellcheck、tabindex(tabindex="-1"不能调到)

2、改良的input元素type属性:url、email、time、datetime、datetime-local、month、week、number、range、tel、color

3、改良的ol列表:新增加了startreversed属性

4、新增元素(常用):

<figure>与<figcaption>:figure元素是网页上一块独立的内容,figcaption从属于figure元素,figure元素的标题,必须书写在figure的内部以及其他元素的前面或后面

<detail>与<summary>

detail元素用于标识该元素的内部的子元素可以被收缩显示的元素,默认为false收缩

summary从属于detail元素,单击summary元素中的内容时,detail中所有元素会展开或收缩。如果detail元素内没有summary元素,浏览器会提供默认文字以供单击

<details>:描述文档或文档某个部分的细节

<ruby>:定义注释(中文或拼音字符)

<bdi>:设置一段文本,使其脱离其父元素的文本方向设置

<time>:日期或时间

<small>:现用于版权等的声明(只允许当做额外的信息以inline方式内嵌在页面)

<mark>:需要高亮或突出显示

<dialog>:定义对话框、提示框

<command>:定义命令按钮,单选、复选按钮

<progress>:进度

<meter>:其中optimum属性表示最佳值

<meter value="20" min="0" max="100" low="10" high="90" optimum="80"></meter>

<article>:代表文档、页面或应用程序中独立的、完整的、可以独自被外部引用的内容,可嵌套使用,可用来表示插件

<hgroup>:将一个内容区域块的标题及其子标题分组

<header>:文档头部,可出现多次

<aside>:当前页面或文章的附属信息部分,侧边栏导航、广告、导航等

<nav>:传统导航条、侧边栏导航、页内导航、翻页操作

<label>:为所有可使用标签的表单元素如button、select等,定义一个labels属性,属性值为一个nodelist对象,代表该元素所绑定的标签元素所构成的集合

<body>
    <script>
        function Validate(){
            var txtName = document.getElementById("txt_name");
            var button = document.getElementById("btnValidate");
            var form = document.getElementById("testform");
            if(txtName.value.trim() == ""){
                var label = document.createElement("label");
                label.setAttribute("for", "txt_name");
                form.insertBefore(label, button);
                txtName.labels[1].innerHTML = "input name";
            }
        }
    </script>

    <form id="testform">
        <label type="label" for="txt_name">name:</label>
        <input id="txt_name">
        <input type="button" id="btnValidate" value="check" onclick="Validate()">
    </form>
</body>

<section>:用于对网站或应用程序中页面上的内容进行分块(通常由内容及其标题组成),如果article、aside、nav元素更符合使用条件,那不要使用section

<pubdate>:指明具体时间, <time datetime="2018-10-10">2018-10-10</time > 

5、新多媒体元素

<audio>音频,<vedio>视频,<embed>插件,<source>多媒体资源,<track>外部文本轨道

6、表单新增元素与属性(与HTML4区别):

 1)在HTML4中——表单内的从属元素必须书写在表单内部;

在HTML5中——表单内的从属元素可以书写在页面上任何地方,然后为该元素指定一个id,这样就可以声明该元素从属于指定元素了

<form method="get" id="test">
      <input type="text" name="name"/>
      <input type="password" name="password"/>
      <input type="submit" value="提交">
 </form>
<input type="text" name="confirm" form="test">

2)在HTML4中——一个表单内的所有元素只能通过表单的action被统一提交至另一页面;

在HTML5中——可以为所有提交按钮增加不同的formaction属性,使单击提交至不同的页面

3)在HTML4中——一个method属性统一提交方式;

在HTML5中——使用formmethod对每一个表单元素分别指定不同提交方法

4)在HTML4中——enctype属性指定在表单发送到服务器之前如何对表单内数据进行编码;

在HTML5中——使用formenctype分别指定不同的编码方式

5)在HTML4中——target;在HTML5中——formtarget

6)autofocus:自动获得光标焦点

7)autoComplete:其含义代表是否让浏览器自动记录之前来输入的值,很多时候,需要对客户的资料进行保密,防止浏览器软件或者恶意插件获自取到,可以在input中加入autocomplete="off"来关闭记录(默认是on),系统需要保密的情况下可以使用此参数

8)required属性:必填字段

9)indeterminate属性:不确定是否选取

10)pattern属性:设置某格式正则表达式,符合才能提交

11)文本框的selectionDirection属性:读取内容方向,正向forward、反向backward

12)label的control属性:可在标签内放置一个表单元素,通过control访问该元素

<body>  
    <form action="" method="post">  
    <label id="label">  
        邮编:  
        <input type="text" name="text"value="" maxlength="6">  
        <small>请输入六位数字</small>
    </label>  
        <input type="button" value="设置默认值" onclick="setValue()">  
    </form>  
    <script type="text/javascript">  
        function setValue(){
            var label = document.getElementById('label');  
            var textbox = label.control;
            textbox.value='341000';
        }  
    </script>  
</body>  

9)list属性:属性值为某个datalist的id,datalist访问该表单元素

<input list="browsers" name="browser">  //表单的list属性指定对应datalist
<datalist id="browsers">   //同时datalist id必须和表单的list属性一样
  <option value="Internet Explorer">
  <option value="Firefox">
  <option value="Chrome">
  <option value="Opera">
  <option value="Safari">
</datalist>

7、页面其他设置——meta元素

1)为搜索引擎定义关键字

<meta name="keywords" content="HTML,ASP,PHP,SQL" />

2)为网页定义描述内容

<meta name="description" content="这里是自定义描述内容" />

3)每30s刷新当前页面

<meta http-equiv="refresh" content="#1010100" />

4)通过在meta中设置X-UA-Compatible的值,可以指定网页的兼容性模式设置

<meta http-equiv="X-UA-Compatible" content="IE=edge">

5)通过meta设置网页自适应

<meta name="viewport"   content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<!--
  viewport标记,用于指定用户是否可以缩放Web页面,并对相关的选项进行设定。

  width 和height 指令分别指定视区的逻辑宽度和高度。它们的值可以是以像素为单位的数字,也可以是一个特殊的标记符号。

如上文代码中device-width即表示,视区宽度应为设备的屏幕宽度。类似的,device-height即表示设备的屏幕高度。 initial-scale用于设置Web页面的初始缩放比例。默认的初始缩放比例值因智能手机浏览器的不同而有所差异,通常情况下,设备会在浏览器中呈现出整个Web页面。
设为1.0则显示未经缩放的Web页面。 maximum-scale和minimum-scale用于设置用户对于Web页面缩放比例的限制。值的范围为0.25~10.0之间 user-scalable指定用户是否可以缩放视区,即缩放Web页面的视图。值为yes时允许用户进行缩放,值为no时不允许缩放。
-->

HTML5语法的改变:

1、DOCTYPE声明(简洁)

2、指定字符编码集

3、可以省略标记的元素

4、具有boolean值的属性(disabled、hidden=""、...)

5、省略引号

HTML5结构编排规则:

1、显式编排内容区域块(使用section区分区域块,它们有标题)

2、隐式编排内容区域块(根据网页需求写h1-h6、hgroup等元素)

3、标题分级

4、不同区域使用相同标题

原文地址:https://www.cnblogs.com/laiylm/p/12708408.html