近期在做公司移动端运营的项目,需求中多处地方都会涉及动画。

相信非常多前端开发都会有这样的感触,对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 button进入页面选择所须要检測的属性,再下载。

比如:我仅仅想使用canvas标签,可是又不清楚各大浏览器对它的支持情况,那么我仅仅须要在Modernizr中选择检測canvas属性打包下载就可以。

怎样使用Modernizr

Modernizr的用法非常easy,仅仅要直接在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">button</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新特性,在支持新特性的浏览器中使用前沿的技术,在不支持的浏览器中使用成熟的技术。这样能够更好的实现网页的兼容性而且网页在不同浏览器中呈现的视觉效果不会相差太大。使它平滑的过渡。

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

  1. HTML5特性检測

    HTML5特性检測:    1.检測全局对象:诸如window或navigator是否拥有特定的属性    2.创建元素:检測该元素的DOM对象是否拥有特定的属性    3.创建元素:检測该元素的DO ...

  2. Visual C++ 2012/2013的内存溢出检測工具

    在过去,每次编写C/C++程序的时候,VLD差点儿是我的标配.有了它,就能够放心地敲代码,随时发现内存溢出. VLD最高可支持到Visual Studio 2012.不知道以后会不会支持Visual ...

  3. c++程序内存泄露检測工具

    功能: 用于检測c++程序的内存泄露. 原理: 事实上非常easy,就是通过函数的重载机制,捕获应用程序的new, new[] , delete , delete[], malloc,calloc,f ...

  4. Linux C 编程内存泄露检測工具(二):memwatch

    Memwatch简单介绍 在三种检測工具其中,设置最简单的算是memwatch,和dmalloc一样,它能检測未释放的内存.同一段内存被释放多次.位址存取错误及不当使用未分配之内存区域.请往http: ...

  5. Xenu-web开发死链接检測工具应用

    Xenu 是一款深受业界好评,并被广泛使用的死链接检測工具. 时常检測站点并排除死链接,对站点的SEO 很重要,由于大量死链接存在会减少用户和搜索引擎对站点的信任,web程序开发者还可通过其找到死链接 ...

  6. Visual Studio内存泄露检測工具

    使用简单介绍     在敲代码的过程中.难免会遇到内存泄露的时候.这个时候假设手工查找内存泄露,不说方法没有通用的,就是真的要自己手工查找也是非常耗时间和精力的.诚然.我们能够借助一些工具,并且我们还 ...

  7. LeakCanary:简单粗暴的内存泄漏检測工具

    差点儿每一个程序猿在开发的过程中都会遇到内存泄漏.那么我们怎样检測到app是否哪里出现内存泄漏呢?square公司推出了一款简单粗暴的检測内存泄漏的工具-- LeakCanary 什么是内存泄漏? 内 ...

  8. cpu真实占用率检測工具

     windows任务管理器所示CPU占用,一直在不断的变动跳跃 ,并不能反应真实的平均CPU占用率.迅雷下载工具也是一样 ,有时这些知名软件,反倒是没有做的这么人性化,细致.或 许就是不想让人知道 ...

  9. Android内存泄漏检測与MAT使用

    公司相关项目须要进行内存优化.所以整理了一些分析内存泄漏的知识以及工作分析过程. 本文中不会刻意的编写一个内存泄漏的程序,然后利用工具去分析它.而是通过介绍相关概念,来分析怎样寻找内存泄漏.并附上自己 ...

随机推荐

  1. PTA 7-2 是否完全二叉搜索树(30 分) 二叉树

    将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果. 输入格式: 输入第一行给出一个不超过20的正整数 ...

  2. (转)一位资深程序员大牛给予Java初学者的学习路线建议

    原文:http://geek.csdn.net/news/detail/238256 Java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是你是如何学习Java的 ...

  3. 高效遍历匹配Json数据与双层for循环遍历Json数据

    工作中往往遇到这种情况,保留用户操作痕迹,比如用户选择过得东西,用户进入其它页面再返回来用户选择的的数据还在. 比如:1.购物车列表中勾选某些,点击任意一项,前往详情页,再返回购物车依旧需要呈现勾选状 ...

  4. 001.网络TCP/IP工程知识点

    一 互联网概述 计算机网络定义:由自主计算机互连起来的集合体. 计算机网络两大部分:硬件:计算机.通信设备.接口设备和传输介质. 软件:通信协议和应用软件. 广域网拓扑结构通常有:网状拓扑结构和环形拓 ...

  5. socket.io的用户认证

    一直专心于写代码,遇到问题便看别人的博客来解决问题,突然感觉自己也应该写点东西帮助别人来解决问题.废话不多说了,直接切入正题~ 最近在写一个聊天室来学习node和socket相关知识.遇到的问题描述: ...

  6. 玩转SpringCloud(F版本) 三.断路器(Hystrix)RestTemplate+Ribbon和Feign两种方式

    此文章基于: 玩转SpringCloud 一.服务的注册与发现(Eureka) 玩转SpringCloud 二.服务消费者(1)ribbon+restTemplate 转SpringCloud 二.服 ...

  7. 一款易搭建,运行快的Git服务器:Gitea安装教程

    说明:Gitea是从Gogs发展而来,同样的拥有极易安装,运行快速的特点,而且更新比Gogs频繁很多,维护的人也多,个人认为Gitea还是更好一些的,这里就说下安装方法. 截图 简介 Gitea是一个 ...

  8. Codeforces 994F Compute Power 二分+DP

    题意:给n个任务 每个任务有两个值$a,b$ 现有许多机器 每台最多可以执行两次任务 若存在第二次任务则满足$a_{second}<a_{first}$ 定义代价$val = \frac { \ ...

  9. PHPMailer 使用方法(支持群发):

    一.下载函数包 地址:https://github.com/PHPMailer/PHPMailer 二.测试服务器环境 通过phpinfo()函数打印出是否支持Sockets(Socket属于php的 ...

  10. C# 匿名类型如何使用