HTML5 扩展内容学习

1、HTML accesskey 属性:带有指定快捷键的超链接:

示例代码:

<a href="http://www.w3school.com.cn/html/" accesskey="h">HTML 教程</a><br />

注释:请使用Shift + Alt + accessKey来访问带有指定快捷键的元素。

2、id、class与style:

  1)、id保持唯一性;

  2)、class多用在css样式中,定义样式类名;

  3)、指定标签的内联样式;

3、contenteditable 可编辑属性 & spellcheck 拼写检查属性

<!DOCTYPE html>
<html>
  <body>
    <div contenteditable="true" spellcheck="true">
      This text can be edited by the user.
    </div>
  </body>
</html>

4、语言lang 与 dir (文字书写方向)

<div lang="zh-CN“>浏览器可识别的中文内容</div>
<div lang="en“>The browser can recognize the English content</div>

    dir 属性标识一段文字的书写方向,ltr默认属性,从左到右显示,rtl从右向左显示文本内容。

<p dir="ltr">Write this text left-to-right!</p>
<p dir="rtl">Write this text right-to-left!</p>

5、title属性:用title属性代替img元素的alt属性或作为图片的标题是被禁止的。

6、隐藏元素:

<p hidden>我是隐藏元素</p>

7、html的无障碍性

 1)、确保每个元素可访问性(accessiablity);

 2)、确保任何人都有办法获取到网上的媒体内容;

 3)、不要让身体上,心理上或者技术上的问题成为获取信息的障碍;

 提升无障碍性的方法:

 1)、为img标签添加alt属性;

 2)、noscript 进行相关的提示;

 3)、图形验证码与语音验证码相结合;

 4)、对于视力不好的人群,文字和背景有足够的对比度;

 5)、对于不方便使用鼠标的用户保证键盘的可操作性;

8、HTML语义化:

 1)、html中的元素,元素的属性以及元素的属性值都拥有某些含义,开发者应该遵循语义化来编写html页面;

 2)、html语义化的重要性:

        a、提升代码的可读性,可维护性;

        b、有利于搜索引擎优化;

        c、提升无障碍性阅读体验;

9、扩展html属性标记:

    1)、meta标签

<!--  编码格式 -->
<meta charset="utf-8">
<!-- 指定http header -->
<meta http-equiv="Content-Security-Policy" content="script-src 'self'">
<!-- SEO 搜索引擎优化 -->
<meta name="keywords'  content="关键字" />
<meta name="description'  content="页面介绍" />
<!-- 移动设备viewport -->
<meta name="viewport'  content="initial-scale=1" />
<!-- 关闭ios电话号码自动识别 -->
<meta name="format-detection'  content="telphone=no" />
<!-- 360浏览器指定内核 -->
<meta name="renderer'  content="webkit" />
<!-- 指定ie渲染模式 -->
<meta http-equiv="X-UA-Compatible'  content="IE=edge" />

  2)、data-* 属性,存储一些没有可视化展现意义的额外信息。在外部使用JavaScript去访问这些属性的值同样非常简单。你可以使用getAttribute()配合它们完整的HTML名称去读取它们,但标准定义了一个更简单的方法:DOMStringMap你可以使用dataset读取到数据。为了使用dataset对象去获取到数据属性,需要获取属性名中data-之后的部分(要注意的是破折号连接的名称需要转换为驼峰样式的名称)。

<article
  id="ele"
  data-columns="3"
  data-number="123"
  data-parent="cars">
  ……
</article>
var article = document.querySelector('#ele');
article.dataset.columns // "3"
article.dataset.number // "123"
article.dataset.parent // "cars"

  data attributes设定为HTML属性,他们同样能被CSS访问.比如你可以通过generated content使用函数attr()来显示data-parent的内容: 

article::before {
  content: attr(data-parent); //cars
}

   同样可以在CSS中使用属性选择器根据data来改变样式:

article[data-columns='3'] {
  width: 400px;
}

   3)、HTML Microdata ,详情将W3C官网:https://www.w3.org/TR/microdata

<div itemscope>
 <p>My name is <span itemprop="name">Neil</span>.</p>
 <p>My band is called <span itemprop="band">Four Parts Water</span>.</p>
 <p>I am <span itemprop="nationality">British</span>.</p>
</div> 

   4)、JSON-LD:用于关联数据的基于JSON的序列化 ,W3C官网参考链接:https://www.w3.org/TR/json-ld

{
  "http://schema.org/name": "Manu Sporny",
  "http://schema.org/url": { "@id": "http://manu.sporny.org/" },  ← The '@id' keyword means 'This value is an identifier that is an IRI'
  "http://schema.org/image": { "@id": "http://manu.sporny.org/images/manu.png" }
}

 

  

posted @ 2017-01-08 14:36  不忘初心2017  阅读(555)  评论(0编辑  收藏  举报