CSS3 新属性(更新至11-08)

1.transition属性

Transition属性主要是用来对某个CSS属性的变化过程进行控制。动画属性

Transition又包含了四个子属性,分别为property、duration、timing-function、delay。

①transition-property:

property针对了当前选择器的某个css属性进行设置。比如我要过渡一个背景色时,则设置property值为background。

②transition-duration:    duration针对了过渡效果的持续时间。

③transition-timing-function:

ease: cubic-bezier(0.25, 0.1, 0.25, 1.0)
linear: cubic-bezier(0.0, 0.0, 1.0, 1.0)
ease-in: cubic-bezier(0.42, 0, 1.0, 1.0)
ease-out: cubic-bezier(0, 0, 0.58, 1.0)
ease-in-out: cubic-bezier(0.42, 0, 0.58, 1.0)
cubic-bezier(x1, y1, x2, y2) 为自定义,x1,x2,y1,y2的值范围在[0, 1]

 

④transition-delay:    duration针对了过渡效果的延迟执行时间。

 

 代码演示:

1). 过渡单个属性:

transition-property:opacity;

transition-duration:2s;

transition-timing-function:ease-in;

transition-delay:0;

2). 过渡多个属性:

[1]. 上下一一对应型

transition-property:opacity left;

transition-duration:2s, 4s;

transition-timing-function:ease-in;

transition-delay:0;

此时:opacity过渡时间为2s,left过渡时间为4s。

[2]. 循环对应型:

transition-property:opacity left width height;

transition-duration:2s, 4s;

transition-timing-function:ease-in;

transition-delay:0;

此时:opacity和width过渡时间为2s,left和height过渡时间为4s。

 

3). transition简写模式: 顺序为:transition-property ,transition-duration, transition-timing-function, transition-delay  

/*单个属性:*/ -moz-transition:background 0.5s ease-out 0s;

/*多个属性:*/ -moz-transition:background, 0.5s ease-out 0s, color 0.4 ease-out 0s;

 

HTML代码: <a href="http://www.ihiro.org/" target="_blank">ihiro.org</a>

CSS代码:   <a href="http://www.ihiro.org/" target="_blank">ihiro.org</a>

a { display:block; width:160px; height:30px; line-height:30px; text-align:center; padding:10px; background:#33589f; color:#fff; text-decoration:none; text-transform:uppercase;     /*只有当鼠标移出后才处理*/     -moz-transition:background 0.2s linear 0s; }

a:hover { background:#263c7b; color:#f60;     text-shadow:2px 2px 10px #f00;     /* 只有当鼠标移入时才处理        注:若a:hover中不写transition,则会继承a中的transition */   

  /*     1. 单个属性         -moz-transition:background 0.5s ease-out 0s;   

  2. 多个属性:        -moz-transition:background, 0.5s ease-out 0s, color 0.4 ease-out 0s;     */     -moz-transition:background 0.5s ease-out, color 0.4s ease-out, text-shadow 0.3s linear; }

 

2.CSS3增加字体阴影    text-shadow:
  此属性有4个值,前两个值分别表示水平方向位移距离和垂直方向的位移距离,第三个值表示阴影的模糊半径(包含0及以下的值均表示无模糊),最后一个则是阴影的颜色,为了更方便大家理解次属性的这四个值,W3Cfuns特意为大家做了下图,虽比较简单,但是能够很清楚的理解这四个值。

如text-shadow:-5px 5px 5px #dfdfdf。

3.CSS3盒模型阴影    box-shadow:
此属性与text-shadow一样有4个值,前两个值分别表示水平方向位移距离和垂直方向的位移距离,第三个值表示阴影的模糊半径(包含0及以下的值均表示无模糊),最后一个则是阴影的颜色,

 注】目前Chrome 16+,FireFox8+,Opera11.6+,Safari5.1+以及IE9+均可直接使用box-shadow,而不需要-webkit-诸如此类的前缀!其他低版本的浏览器没有做测试,次备注只作为参考。

 

4.CSS3圆角  border-radius

此属性值是以像素为单位的圆角半径,比如:

border-radius:3px; border-radius:5px; border-radius:8px;border-radius:10px;

但是在不同内核的浏览器下,其写法也有的差别,比如:
Chrome & Safari:-webkit-border-radius:5px;
FireFox:-moz-border-radius:5px;
Opera:-o-border-radius:5px;
IE9+:border-radius:5px;

设置某一个角为圆角的写法。统一的写法:
左上角:border-top-left-radius:5px;
右上角:border-top-right-radius:5px;
左下角:border-bottom-left-radius:5px;
右下角:border-bottom-right-radius:5px;

 

5.CSS3变形处理:Transform 旋转

旋转:transform:rotate(*)
如果想要让指定的元素旋转,只需要按照如下方式定义即可:
#content{transform:rotate(45deg);}
rotate:表示旋转的意思,其值为角度(旋转方向为顺时针);
deg:是CSS3的“Values and Units”模块中定义的一个角度单位
浏览器支持:Chrome8+, FireFox4+, Opera10+,Safari3.1+
[注]IE9不支持此属性
此属性在不同的浏览器下不同的写法
Chrome & Safari:-webkit-transform:rotate(45deg);
FireFox:-moz-transform:rotate(45deg);
Opera:-o-transform:rotate(45deg);
不可忽略掉属性之前的前缀,否则无效!

 

 缩放:transform:scale(num,num)
使用scale方法来实现文字或图像的缩放处理,在参数中指定缩放倍率。譬如“scale(0.5)”表示缩小50%,“scale(2)”表示放大1倍。此方法可设置两个值,分别表示水平和垂直方向,设置一个参数,则第二个参数默认取第一个。

此属性在不同的浏览器下不同的写法
比如缩小50%:
Chrome & Safari:-webkit-transform:scale(0.5);
FireFox:-moz-transform:scale(0.5);
Opera:-o-transform:scale(0.5);
不可忽略掉属性之前的前缀,否则无效!

 

倾斜:transform:skew(num,num)
  使用skew方法来实现指定元素的倾斜角度,它有两个参数值,分别表示水平方向的倾斜角度和垂直方向的倾斜角度。第二个参数可省略。
比如#box{transform:skew(-45deg, 20deg); -moz-transform:skew(-45deg, 20deg); -o-transform:skew(-45deg, 20deg); transform:skew(-45deg, 20deg);}

deg:是CSS3的“Values and Units”模块中定义的一个角度单位;
[注]此属性在不同浏览器下同样也要加上相对应的前缀;


translate移动

 在参数中分别制定水平方向上的移动距离和垂直方向上的移动距离,比如translate(50px, 50px);表示水平和垂直方向上均移动50个像素。
与众多CSS属性一样,translate既然有水平方向和垂直方向,那么我们也可以单一的写某一个方向:

translateX();//表示水平方向 translateY();//表示垂直方向

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2012-11-08 11:03  hlp鹏  阅读(195)  评论(0编辑  收藏  举报