前端之HTML5知识整理

本文详细介绍了HTML5中的语义化标签兼容性问题,使用html5shiv解决IE8以下版本的不识别问题。接着讨论了HTML5的新特性,如自定义类名操作、自定义属性dataset的使用、网络状态监测、地理位置API及其隐私问题,以及web存储(cookie、sessionStorage和localStorage)。此外,还涵盖了文件读取、拖拽操作和自定义播放器等内容,是前端开发者的重要参考资料。
摘要由CSDN通过智能技术生成

1. html5语义化兼容性问题

<!-- 现象: IE8 以下版本不支持 html5 语义化标签 -->
<header>我是header标签, 我应该独占一整行</header>

解决方式:

1)在浏览器解析标签之前, 动态创建一下 header 标签, 浏览器就认识了

document.createElement("header");

2)默认行内, 需要转成块级

header {
  /* header 标签应该独占一整行 */
  display: block;
}

但是 html5 新增了很多语义化标签, 一个个创建太麻烦了, html5shiv 插件很好的解决这个问题

1.1 html5shiv解决兼容性问题

在head中 引入 html5shiv 插件包即可解决 IE 8 不识别 html5 语义化标签的问题

<script src="html5shiv.js"></script>

但是在支持html5语义化标签的浏览器中, 这个js的执行就没有必要, 消耗了性能

所以我们可以通过 CSS IE条件注释 做兼容性处理

1.2 CSS条件注释(了解)

CSS IE条件注释 专门用于兼容IE 低版本

所以只有 IE9 及 IE9以下版本 才认识,其他版本的浏览器或者 IE10以上 的版本会当成注释, 不会解析

它里面有判断IE版本的方式:

lte:就是Less than or equal to的简写,也就是小于或等于的意思。
lt :就是Less than的简写,也就是小于的意思。
gte:就是Greater than or equal to的简写,也就是大于或等于的意思。
gt :就是Greater than的简写,也就是大于的意思。

用法实例:

在小于等于 IE 8 的浏览器中才会执行, 在IE9 中, 就是普通的注释, 不会解析执行

<!--[if lte IE 8]>
    <script>
      alert("呵呵, 小于等于IE8都会执行这段话");
    </script>
    <script src="html5shiv.js"></script>
<![endif]-->

大于 IE 8 的浏览器才执行, 只有 IE 9 认识, 其他浏览器, IE 10 及以上, 都将条件注释当成注释

<!--[if gt IE 8]>
   <script>
      alert("只有IE9才执行这句话");
   </script>
<![endif]-->

2. html5 新增类名操作(熟记)

四个操作样式类的方法, 很简单, 需要熟记
1) 添加类: dom.classList.add   
2) 移除类: dom.classList.remove

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值