- Oeasy教你玩转后期剪辑Premiere
- HTML5小游戏---爱心鱼(上)
- Android-节日短信送祝福(UI篇)
- Android-多平台分享
Autoprefixer解析CSS文件并且添加浏览器前缀到CSS规则里,使用Can I Use的数据来决定哪些前缀是需要的。
所有你需要做的就是把它添加到你的资源构建工具(例如 Grunt)并且可以完全忘记有CSS前缀这东西。尽管按照最新的W3C规范来正常书写你的CSS而不需要浏览器前缀。像这样:
1
2
3
|
a{
transition :transform
1
s
}
|
Autoprefixer使用一个数据库根据当前浏览器的普及度以及属性支持提供给你前缀:
1
2
3
4
5
|
a{
-webkit-transition :-webkit-transform
1
s;
transition :-ms-transform
1
s;
transition :transform
1
s
}
|
问题
- 当前浏览器列表以及它们的普及度。
- 新CSS属性,值和选择器前缀列表。
- 主流浏览器最近2个版本用“last 2 versions”;
- 全球统计有超过1%的使用率使用“>1%”;
- 仅新版本用“ff>20”或”ff>=20″.
1
2
3
4
5
6
7
|
a {
background : linear-gradient(to
top
,
black
,
white
);
display : flex
}
::placeholder {
color :
#ccc
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
a {
background : -webkit-linear-gradient(
bottom
,
black
,
white
);
background : linear-gradient(to
top
,
black
,
white
);
display : -webkit-box;
display : -webkit-flex;
display : -moz-box;
display : -ms-flexbox;
display : flex
}
:-ms-input-placeholder {
color :
#ccc
}
::-moz-placeholder {
color :
#ccc
}
::-webkit-input-placeholder {
color :
#ccc
}
::placeholder {
color :
#ccc
}
|
1
2
3
4
|
a {
-webkit-border-radius :
5px
;
border-radius :
5px
}
|
1
2
3
|
a {
border-radius :
5px
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
Gruntfile.js
module.exports =
function
(grunt) {
grunt .initConfig ({
autoprefixer : {
dist : {
files : {
'build/style.css'
:
'style.css'
} } },
watch : {
styles : {
files : [
'style.css'
],
tasks : [
'autoprefixer'
]
}
}
});
grunt.loadNpmTasks(
'grunt-autoprefixer'
);
grunt.loadNpmTasks(
'grunt-contrib-watch'
);};
|
style.css
到
build/style.css
. 同样我们将用
grunt-contrib-watch
来
监听
style.css文件变化
重新编译
build/style.css。
1
2
3
|
a {
width : calc(50% - 2em)
}
|
calc()
值单元需要Safari 6的 浏览器前缀。
1
2
3
4
|
a {
width : -webkit-calc(
50%
-
2em
);
width : calc(
50%
-
2em
)
}
|
1
2
3
4
|
a {
width : calc(
50%
-
2em
);
transition : transform
1
s
}
|
transition
及
transform
添加
前缀。但IE9也需要为transform添加前缀,作为transition的值。
1
2
3
4
5
6
7
|
a {
width : -webkit-calc(
1%
+
1em
);
width : calc(
1%
+
1em
);
-webkit-transition : -webkit-transform
1
s;
transition : -ms-transform
1
s;
transition : transform
1
s
}
|