Modernizr的简单使用

一、介绍

对于CSS3和HTML5的新特性,某些浏览器可能不支持。Modernizr 是一个 JavaScript 库,用于检测用户浏览器的对 HTML5 与 CSS3 特性的支持度。

Modernizr 会在页面加载后立即检测特性;然后创建一个包含检测结果的 JavaScript 对象,同时html 元素加入方便你调整 CSS 的 class 名

二、使用

比如我们现在想要针对flex特性进行处理,可以首先在 Can I use这个网站上查找浏览器对该特性的支持度。发现IE6-9是不支持的。
在这里插入图片描述
写一下代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>20.css兼容性</title>
  <style>
    header,
    footer {
      height: 50px;
    }

    header {
      background-color: red;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    footer {
      background-color: #007fff;
    }
  </style>
</head>
<body>
<header>header</header>
<footer>footer</footer>
</body>
</html>

Chrome中正常的显示页面:
在这里插入图片描述
在IE浏览器器下,IE10及以上可以正常显示,但是IE9及以下flex布局就不起作用了,如图所示:
在这里插入图片描述


现在要解决这个问题!

进入 Modernizr 官网
在这里插入图片描述
在这里插入图片描述

我们现在是在针对性的对某个新特性进行处理,让它支持老版本浏览器。

在搜索框中输入 flex,然后点击+号,再build一下,下载一个js文件,如下图所示。

在这里插入图片描述
然后在页面中引入这个js文件。我们重新查看页面:

在支持flex布局的浏览器中,html标签上多了一个class:flexbox
在这里插入图片描述
在不支持flex的浏览器中,html中也会多一个class:no-flexbox
在这里插入图片描述

在 html 元素加入方便调整 CSS 的 class 名是Modernizr自动帮我们做的,然后我们就可以利用这一点进行一些兼容性的处理。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>20.css兼容性</title>
  <style>
    header,
    footer {
      height: 50px;
    }

    header {
      background-color: red;

    }

	 /* 注意这里 */
    .flexbox header {
      display: flex;
      justify-content: center;
      align-items: center;
    }

	/* 还有这里 */
    .no-flexbox header {
      text-align: center;
      line-height: 50px;
    }

    footer {
      background-color: #007fff;
    }
  </style>
</head>
<body>
<header>header</header>
<footer>footer</footer>

<!--引入JS文件-->
<script src="./js/modernizr-custom.js"></script>
</body>
</html>

这样,在支持flex的浏览器中就用flex;在不支持flex的浏览器中就不用flex,用其他的代替。

资料:

Can I use

Modernizr 官网

Modernizr.js简介

前端学习交流QQ群,群内学习讨论的氛围很好,大佬云集,期待您的加入:862748629 点击加入

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值