浏览器对HTML5特性检测工具Modernizr

最近在做公司移动端运营的项目,需求中多处地方都会涉及动画。相信很多前端开发都会有这种感触,对CSS3中的动画属性很熟悉,但是由于对动画运动过程的理解不深入,经常只能望而止步。CSS3中动画这在Web页面中具有点睛之笔,让人眼前一亮,这段时间我会抽空来整理关于动画这块的知识点,希望能在总结的同时分享给有需要的朋友们,如果有什么好的建议和想法欢迎相互交流学习。无论是动画还是别的CSS3的新特性在移动端都能得到很好的支持,可是对于PC端来说,有那么些不太友好的浏览器(比如万恶的IE9-)无法支持CSS3特性,为了能够更好的使用CSS3特性来实现更绚丽的页面效果,今天先介绍下浏览器的检测工具Modernizr。

浏览器的支持情况 和 装机情况(分享两个网站)

这边分享两个前端常用的检测网站,一个是检测浏览器的兼容性网站,对于HTML5和CSS3功能支持,并非取决于我们,最终的决定权由浏览器的开发商说了算,所以了解每个浏览器对属性和标签的支持情况显得非常重要。另外一个是检测各种浏览器的装机情况,这个网站可以告诉我们有多少用户的浏览器支持我们想使用的功能。

浏览器兼容性网站:Can I use (点击我试试) http://caniuse.com/

浏览器装机情况统计网站:http://gs.statcounter.com/

Modernizr

检测功能是应对浏览器支持差异的一个重要策略,如果我们自己去编写一个检测HTML5新特性支持情况需要花费大量的时间,但如果不去检测又怕不同浏览器对特性的支持存在差异,面对这个难题,我们可以使用前人写好的检测工具Modernizr。Modernizr是怎样的一个工具,它是一个小巧、持续更新、专门用于测试浏览器对很多HTML5及相关功能的支持情况。

Modernizr下载地址:https://modernizr.com/

如何选择Modernizr

由于Modernizr工具被不断的完整,所以它的JS库也变得越来越大,我们需要的是有目的性的选择需要检测的特性,去Modernizr的网站点击 Add your detects 按钮进入页面选择所需要检测的属性,再下载。

例如:我只想使用canvas标签,但是又不清楚各大浏览器对它的支持情况,那么我只需要在Modernizr中选择检测canvas属性打包下载即可。

如何使用Modernizr

Modernizr的使用方法很简单,只要直接在head区域引入即可。

<head>
    <meta charset="UTF-8">
    <title>HTML5特性检测</title>
    <script src="modernizr-custom.js"></script>
</head>

如何查看检测结果

我这边以完整的Modernizr检测工具为例,介绍如何查看各大特性的兼容性支持情况。查看特性的兼容性,我们只需要到相应的浏览器中,打开开发者模式,查看html标签 后面会添加一个class样式表,这个样式表就是对各个特性支持情况的统计。特性只有两个值:带前缀no的为不支持即false,不带前缀的为支持true。

例如:

no-canvas表示浏览器不支持该特性

canvas表示浏览器支持该特性

chrome浏览器:

IE8浏览器:

如何使用Modernizr所检测的class

使用Modernizr检测了浏览器对所需HTML特性的支持情况后,我们需要的是使用它,其实我们自身应该很清楚,为什么需要检测浏览器对特性的支持情况?很多浏览器对于CSS3的特性不支持,如果我们在网页表现上大量的使用这些新特性,那么可能会造成不支持该特性的浏览器对网页解析产生错误,从而导致页面布局、功能遭到破坏。而使用Modernizr检测出来浏览器对特性的支持情况,就能很好的把控整个页面。

例如:在支持的浏览器中,你想要圆角边框,而在不支持的浏览器中,你想使用双线边框。那么此时在你使用了Modernizr脚步的页面,可以这样编写。

HTML:

<div class="header">按钮</div>
.header{
            width: 80px;
            background-color: #ccc;
            padding: 10px;
            margin: 10px;
            text-align: center;
        }
        .borderradius .header{
            border: thin #2DCB70 solid ;
            border-radius: 20px;
        }
        .no-borderradius .header{
            border: 5px #2DCB70 double;
        }

支持border-radius的浏览器:

不支持border-radius的浏览器:

总结:今天分享和总结Modernizr检测浏览对HTML特性的支持情况,是为了更好的使用HTML5新特性,在支持新特性的浏览器中使用前沿的技术,在不支持的浏览器中使用成熟的技术,这样可以更好的实现网页的兼容性并且网页在不同浏览器中呈现的视觉效果不会相差太大,使它平滑的过渡。

时间: 2024-10-22 08:31:46

浏览器对HTML5特性检测工具Modernizr的相关文章

浏览器检测工具Modernizr

什么是Modernizr? Modernizr 是一个用来检测浏览器功能支持情况的 JavaScript 库. 目前,通过检验浏览器对一系列测试的处理情况,Modernizr 可以检测18项 CSS3 功能以及40多项关于HTML5 的功能. 它比传统检测浏览器名称(浏览器嗅探)的方式更为可靠. 一整套测试的执行时间仅需几微秒. 此外,Modernizr 网站通过定制脚本只对你感兴趣的元素进行检测,从而实现效率优化. 传统浏览器目前不会被完全取代,令你难以将最新的 CSS3 或 Html5 功能

Feature.js-轻量级浏览器特性检测JavaScript库插件

简要教程 Feature.js是一款轻量级的浏览器特性检测JavaScript库插件.该插件运行速度快,使用简单,文件只有1kb大小.通过Feature.js你可以检测客户浏览器是否支持某些特性,并针对这些特性编写代码. Feature.js会自动在页面初始化时进行加载,但是它不会自动进行特性检测,直到你在代码中调用它时才会进行指定特性的检测. 通过Feature.js你可以对浏览器进行特性检测,例如检测浏览器是否支持CSS 3D transforms,为支持该特性的浏览器编写代码来操纵元素进行

[转]JavaScript快速检测浏览器对CSS3特性的支持

转自:https://yuguo.us/weblog/detect-css-support-in-browsers-with-javascript/ -------------------------------------------------------------------------------------------------- 在项目中需要快速检测浏览器是否支持某CSS3特性,比如检测是否支持“transform”,然后我的布局会有两种完全不同的版式. 当然除开本文介绍的这种快

浏览器特性检测插件Feature.js

<script src="js/feature.js"></script> if (feature.webGL) { console.log("你的浏览器支持WebGL"); } else { console.log("你的浏览器不支持WebGL"); } 下面是Feature.js可进行的浏览器检测的特性列表. feature.async feature.addEventListener feature.canvas f

最短的通过特性检测判断浏览器

注意:我们这里一般是讨论IE和非IE浏览器,更精准的检测需要结合UA和其他特性检测来综合判断 1. 垂直制表符 '\v'的转义问题,利用浏览器对转义字符'\v'的理解 IE浏览器不能识别\v为一种转义字符,会直接输出v 其他浏览器(目前验证safari\chrome)会转义为垂直制表符,大约等同于""一个空格 // ie会生成为v1,right-expression遇到+会转化为字符串拼接,但left-expression为空,会转为数字加法, 可以了解下+[]为什么等于0 // 所以

Html5 学习之 Html5功能判断插件 Modernizr

---恢复内容开始--- Modernizr 浏览器对HTML5和CSS3开发的功能检测类库 由于当前用户使用的浏览器版本较多,对H5和CSS3的支持也各不相同.前端的开发者,在使用一些新的特性的时候,就比较的麻烦.需要去兼容各种浏览器,判断这些浏览器是否支持这些新的特性. Modernizr可以帮助前端的开发者很好的解决这一问题. Modernizr是什么? 用官网的话说,Modernizr是一个JavaScript库,在用户的浏览器中监测对HTML5和CSS3功能支持.这也是我们的目的所在.

移动App开发工具和移动应用漏洞检测工具

移动应用开发工具和移动应用漏洞检测工具,另外,HTML5提供了很多易于移动web开发的特性.例如,所有的网站都是开发放式的,不需要授权:开发者所创造的利润全部归自己所有.无疑,HTML5正在升温,它所体现出来的优势也在不断增加. 移动应用开发工具和移动应用漏洞检测工具,最新版本的HTML5,可以存储数据,也就是说,数据不再需要与设备绑定.HTML5给人们所带来的好处远不止这些.当然,也可能会有些小问题,比如:连接问题.有时速度会很慢,这也许和开发技术有关.虽然存在不足,但是HTML5的优势是不可

HTML5和CSS3工具资源汇总

HTML5 & CSS3 准备就绪 该网站通过扇形图表的形式展现了从08年到10年以来各大浏览器对HTML5和CSS3的支持情况.发展势头还是很可观的. HTML5安全手册 CSS3按钮生成器 所见即所得的为你生成CSS3按钮,你仅需通过基本的鼠标点击便可生成令人满意的CSS3按钮,点击生成好的按钮即可查看相应的CSS3代码. When can I use-(HTML5 & CSS3 浏览器兼容性) 很详细的关于HTML5, CSS3, SVG等技术的浏览器兼容性列表. CSS3颜色值/名

HTML5特性检測

HTML5特性检測: 1.检測全局对象:诸如window或navigator是否拥有特定的属性 2.创建元素:检測该元素的DOM对象是否拥有特定的属性 3.创建元素:检測该元素的DOM对象是否拥有特定的方法 4.创建元素:赋予该元素的DOM对象设定的属性值,检測浏览器 是否保留该属性值 Modernizr:HTML5特性检測库,用于检測浏览器是否支持HTML5 和CSS3特性.下载Development版http://www.modernizr.com/ eg. Ⅰ.检測浏览器是否支持canva