Sass与Compress实战:第五章
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sass与Compress实战:第五章相关的知识,希望对你有一定的参考价值。
概要:第5章展示了Compass如何使你免去编写跨浏览器的CSS3的痛苦。
本章内容:
● 用Compass的CSS3模块创建跨浏览器的CSS3样式表
● 在低版本IE中支持一些CSS3的特性
● Compass里的CSS3高阶技能
1.什么是CSS3
CSS3,或称第三代层叠样式表,是基于CSS2的规范建立起来的。CSS3的变革可以归纳为两部分——更给力的选择器,帮助我们定位元素;各种新的属性,用于修饰元素的外观。
1.1 新属性:浏览器前缀让你烦透了吧
由于浏览器厂商有各自的发布周期,浏览器接纳新特性的速度也不同,与此同时规范也在快速发展迭代。因此浏览器厂商通常会先以带有厂商前缀的方式引入CSS3的新特性。
1.2 让Compass拯救你
Compass可以生成所有的CSS前缀,如下代码所示:
@ import " compass / css3 ";
.notice {
@include border-radius ( 5px );
}
在项目里,通过添加Compass的CSS3模块,使用border-radius混合器,你就可以快速生成支持所有主流浏览器的CSS代码,代码如下:
.notice {
-moz-border-radius : 5px;
-webkit-border-radius : 5px;
-o-border-radius : 5px;
-ms-border-radius : 5px;
border-radius : 5px;
}
在Compass里配置厂商命名空间:
@import "compass / css3";
$experimental-support-for-opera : false;
$experimental-support-for-microsoft : false;
$experimental-support-for-khtml : false;
.notice {
@include border-radius (5px);
}
Compass提供了几个类似于experimental-support-for-xxxx的变量配置项。如果我们以false覆盖其默认值,Compass在产出CSS时就会忽略相应的厂商命名空间。
2. 通过Compass使用CSS3
2.1 圆角
Compass中的CSS3border-radius:
button {
background : red;
border : 0;
color : #fff;
line-height : 30px;
width : 100px;
}
button.rounded {
@include border-radius (5px)
}
button.really-rounded {
@include border-radius (10px)
}
button.extreme-rounded {
@include border-radius (30px)
}
上述代码中,为button设置了一些基本样式,然后再设置每个button的圆角。很明显,被@include的border-radius是一个Sass混合器。
2.2 CSS3阴影
用CSS3创建阴影:
h1 {
text-shadow : #cccccc 5px 5px 2px;
}
h2 {
-moz-box-shadow : #cccccc 5px 5px 2px;
-webkit-box-shadow : #cccccc 5px 5px 2px;
box-shadow : #cccccc 5px 5px 2px;
text-shadow : #dddddd -1px 1px 0;
background : #999;
padding : 1em;
}
你使用的CSS3的text-shadow和box-shadow实现了那两个明显的阴影,并且再次使用text-shadow实现了镂刻文字。使用Compass的box-shadow混合器:
h2 {
@include box-shadow (#ccc 5px 5px 2px) ;
text-shadow : #ddd -1px 1px 0 ;
background : #999 ;
padding : 1em ;
}
Compass的box-shadow和text-shadow混合器都可以被应用为多重阴影。
以上是关于Sass与Compress实战:第五章的主要内容,如果未能解决你的问题,请参考以下文章