🎶 Sym - 一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)平台

📕 思源笔记 - 一款桌面端笔记应用,支持 Windows、Mac 和 Linux

🎸 Solo - B3log 分布式社区的博客端节点,欢迎加入下一代社区网络

♏ Vditor - 一款浏览器端的 Markdown 编辑器

Modernizr: start implementing CSS 3 and HTML5 features now


So, you're a web designer, and you want to start taking advantage of new features in CSS 3 and HTML5. That's great, but you know that most of your users aren't running browsers that support these new standards. You could just wait for browsers to get with the times, or you could check out Modernizr .

Modernizr is a JavaScript library by Faruk Ates that detects which functionality a browser can support, and allows you to use if-statements to fine-tune your fallbacks for browsers that don't support the new hotness. Modernizr can't fix old browsers, but it can make it more practical to support newer ones. On top of all the CSS 3 styles it can detect support for, it also allows you to use and style HTML5 elements without breaking your site for IE users. Not too shabby for a little bit of JavaScript.

然后看了下所说的Modernizr,貌似就是根据浏览器是否支持该css进行判断,判断后需要自己手写js来进行处理。要是能写一个css,然后进过转换就直接使用所有浏览器就哇咔咔了。。。
MOdeinizr具体使用如下:

Tutorial

In this brief tutorial we'll look at how to add Modernizr to your site and start using it. It should be enough to get you going, but more detailed tutorials and techniques will come in the future. When they do, they'll be announced either on this site or, and this is more likely, on the Modernizr twitter account .

Download and include

First, you must download the latest Modernizr code .

Include the modernizr-0.9.js file into your page, directly after the <body> element like this:

<body>

<script src="/path/to/modernizr-0.9.js"></script>

Writing conditional CSS with Modernizr

Now, once your page loads, Modernizr will run and go through all of its tests. It will automatically add all the classes to the <body> element of the page, and these classes will be along the lines of body.feature or body.no-feature , with the former indicating that the current browser supports that specific feature and the latter indicating that the browser does not support the feature.

Additionally, it will create a new JavaScript object in the global scope, called Modernizr . This object will contain properties for each of the features that Modernizr detects for, and their value will be set to TRUE or FALSE depending on the browser's support for it.

What you can do from this point on is write pseudo-IF/ELSE statements in your CSS. Let's look at an example from the Modernizr.com site itself:

.cssgradients

#main {

background: -webkit-gradient(linear, left 0, right bottom,<br />

    from(rgba(255,255,255, .82)),<br />

    to(rgba(255,255,255, 0))) 0 0 no-repeat;<br />

}

In the above example, we're doing an "IF" condition in CSS: IF the browser supports both CSS gradients, THEN apply this background property to the #main element (instead of the original background property).

Writing conditional JavaScript with Modernizr

When leveraging Modernizr in your JavaScript, it's as straight-forward as it can be to do IF-conditions based on what the browser currently supports:

if (Modernizr.cssgradients

) {

// perform some actions you only want to<br />

// execute if the browser supports gradients<br />

}

There really is nothing out of the ordinary about it, so if you're a JavaScript programmer you're good to go.



欢迎注册黑客派社区,开启你的博客之旅。让学习和分享成为一种习惯!

留下你的脚步