众所周知,在我们写CSS的时候会遇到一些小问题比如以下这样
.boxshadow #c {
border:none;
-webkit-box-shadow: rgba(0,0,0, .5) 3px 3px 6px;
-moz-box-shadow: rgba(0,0,0, .5) 3px 3px 6px;
box-shadow: rgba(0,0,0, .5) 3px 3px 6px;
}
还有这样
#wrap{
border: 5px solid red;
-webkit-border-radius: 12px;
-moz-border-radius: 12px;
border-radius: 12px;
}
请大家注意这里面的-webkit- -moz-,这些都是早年遗留下来的CSS私有兼容性写法(话说都是好久以前浏览器不支持的那一套东西),可能诸位前端er~ 早已经习惯了 这种"盖高楼" 话说这种盖高楼可不是什么好事儿,很XX的一个举动,不建议大家比这个东西,,,,
回到正题,今天给大家隆重介绍Prefixfree.js,没错就是他,通过它可以让你拜托盖高楼的困扰, 假如你现在正学习着强大的Css3,你知道Css3的很多数属性为实验属性,使用他们的时候得加上各式各样的浏览器前缀。可能你默默忍受了,因为还没到统 一的时间。有没想过给自己减下负,偶然间在网上看到一个js解决方案,正好可以解决这个问题。他会帮你自动识别浏览器,生成对应的Css3样式前缀,这样 你就可以直接当作标准属性来使用了。,是不是感觉很酷炫!!!
-webkit-transform: rotate(15deg);
-o-transform: rotate(15deg);
-moz-transform: rotate(15deg);
-ms-transform: rotate(15deg);
-webkit-border-radius: 50%;
-o-border-radius: 50%;
-moz-border-radius: 50%;
-ms-border-radius: 50%;
这些东西,通过prefixfree.js检测后 你只需要写成这样
transform:rotate(15deg);
border-radius:50%;
没了 ,就这样,即简单 又粗暴,可能你现在已经忍不住想要引入了 ,
最新版本的下载地址在这里 http://www.bootcdn.cn/prefixfree/
这是最近开发的一个项目,刚刚好用到,希望给大家做一个参考,最后提几个小建议
事物总是有两面性,带来方便的同时,也引入了一些问题,
1.因为是基于js的,所以对于一些不支持或者禁用js的浏览器用户是很不友好的,很可能会打乱布局,
2.有时候会影响你使用Css的一些技巧(比如你只是想针对某个浏览器使用某个Css3属性,由于这个js的作用,所有浏览器都会应用该条属性,明显这不 是你想要的结果)
根据鑫大神说的还有几点限制:
- @import-ed之类文件不鸟
- 跨域链接样式不鸟
- 无前缀链接样式Chrome和Opera下部分不鸟
- 行内style无前缀值在IE和FireFox3.6以下不鸟,FireFox 3.6下的属性亦如此
总结一下:这个东西好是好,但是路还是要自己慢慢走,要一步一个脚印,在学习走路的时候就跑起来,以后的路就会更加难走
最后感谢鑫大神的开源文章,给了我灵感