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实战:第五章的主要内容,如果未能解决你的问题,请参考以下文章

Sass与Compress实战:第七章

Sass与Compress实战:第四章

Sass与Compress实战:第六章

Sass与Compress实战:第二章

Sass与Compress实战:第一章

2017.2.20 《activiti实战第五章--用户与组及部署管理》用户与组