css3学习 第二天

CSS3 2D 转换

CSS3 转换

CSS3 转换可以对元素进行移动、缩放、转动、拉长或拉伸。

它是如何工作?

转换的效果是让某个元素改变形状,大小和位置。

2D 转换

translate()

rotate()

scale()

skew()

matrix()

实例
div

{

transform: rotate(30deg);

-ms-transform: rotate(30deg); /* IE 9 */

-webkit-transform: rotate(30deg); /* Safari and Chrome */

}

translate() 方法

translate()方法,根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。

实例

div

{

transform: translate(50px,100px);

-ms-transform: translate(50px,100px); /* IE 9 */

-webkit-transform: translate(50px,100px); /* Safari and Chrome */

}

translate值(50px,100px)是从左边元素移动50个像素,并从顶部移动100像素。

rotate() 方法

rotate()方法,在一个给定度数顺时针旋转的元素。负值是允许的,这样是元素逆时针旋转。

实例

div

{

transform: rotate(30deg);

-ms-transform: rotate(30deg); /* IE 9 */

-webkit-transform: rotate(30deg); /* Safari and Chrome */

}

rotate值(30deg)元素顺时针旋转30度。

scale() 方法

scale()方法,该元素增加或减少的大小,取决于宽度(X轴)和高度(Y轴)的参数:

实例

-ms-transform: scale(2,3); /* IE 9 */

-webkit-transform: scale(2,3); /* Safari */

transform: scale(2,3); /* 标准语法 */

scale(2,3)转变宽度为原来的大小的2倍,和其原始大小3倍的高度。

skew() 方法

语法

transform:skew(<angle> [,<angle>]);

包含两个参数值,分别表示X轴和Y轴倾斜的角度,如果第二个参数为空,则默认为0,参数为负表示向相反方向倾斜。

skewX(<angle>);表示只在X轴(水平方向)倾斜。

skewY(<angle>);表示只在Y轴(垂直方向)倾斜。

实例

div

{

transform: skew(30deg,20deg);

-ms-transform: skew(30deg,20deg); /* IE 9 */

-webkit-transform: skew(30deg,20deg); /* Safari and Chrome */

}

skew(30deg,20deg) 元素在X轴和Y轴上倾斜20度30度。

matrix() 方法

matrix()方法和2D变换方法合并成一个。

matrix 方法有六个参数,包含旋转,缩放,移动(平移)和倾斜功能。

利用matrix()方法旋转div元素30°

div

{

transform:matrix(0.866,0.5,-0.5,0.866,0,0);

-ms-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* IE 9 */

-webkit-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* Safari and Chrome */

}

新转换属性

以下列出了所有的转换属性:

Property描述CSS

transform                  适用于2D或3D转换的元素         3

transform-origin        允许您更改转化元素位置            3

CSS3 3D 转换

3D 转换

CSS3 允许您使用 3D 转换来对元素进行格式化。

3D 转换方法:

rotateX()

rotateY()

rotateX() 方法

rotateX()方法,围绕其在一个给定度数X轴旋转的元素。

实例

div

{

transform: rotateX(120deg);

-webkit-transform: rotateX(120deg); /* Safari 与 Chrome */

}

rotateY() 方法

rotateY()方法,围绕其在一个给定度数Y轴旋转的元素。

实例

div

{

        transform: rotateY(130deg);

        -webkit-transform: rotateY(130deg); /* Safari 与 Chrome */

}

转换属性

下表列出了所有的转换属性:

属性描述CSS

transform                    向元素应用 2D 或 3D 转换。                            3

transform-origin           允许你改变被转换元素的位置。                      3

transform-style            规定被嵌套元素如何在 3D 空间中显示。         3

perspective                规定 3D 元素的透视效果。                                3

perspective-origin        规定 3D 元素的底部位置。                               3

backface-visibility        定义元素在不面对屏幕时是否可见。                 3

CSS3 过渡

CSS3中,我们为了添加某种效果可以从一种样式转变到另一个的时候,无需使用Flash动画或JavaScript。用鼠标移过下面的元素:

它是如何工作?

CSS3 过渡是元素从一种样式逐渐改变为另一种的效果。

要实现这一点,必须规定两项内容:

指定要添加效果的CSS属性

指定效果的持续时间。

实例

应用于宽度属性的过渡效果,时长为 2 秒:

div

{

transition: width 2s;

-webkit-transition: width 2s; /* Safari */

}

注意: 如果未指定的期限,transition将没有任何效果,因为默认值是0。

指定的CSS属性的值更改时效果会发生变化。一个典型CSS属性的变化是用户鼠标放在一个元素上时:

规定当鼠标指针悬浮(:hover)于 <div>元素上时:

div:hover

{

 width:300px;

}

注意: 当鼠标光标移动到该元素时,它逐渐改变它原有样式

多项改变

要添加多个样式的变换效果,添加的属性由逗号分隔:

添加了宽度,高度和转换效果:

div

{

transition: width 2s, height 2s, transform 2s;

-webkit-transition: width 2s, height 2s, -webkit-transform 2s;

}

过渡属性

下表列出了所有的过渡属性:

属性描述                                                                                                                    CSS

transition                                简写属性,用于在一个属性中设置四个过渡属性。        3

transition-property                    规定应用过渡的 CSS 属性的名称。                            3    

transition-duration                    定义过渡效果花费的时间。默认是 0。                        3

transition-timing-function        规定过渡效果的时间曲线。默认是 "ease"。                 3

transition-delay                        规定过渡效果何时开始。默认是 0。                            3

实例

在一个例子中使用所有过渡属性:

div

{

transition-property: width;

transition-duration: 1s;

transition-timing-function: linear;

transition-delay: 2s;

 /* Safari */

-webkit-transition-property:width;

-webkit-transition-duration:1s;

-webkit-transition-timing-function:linear;

-webkit-transition-delay:2s;

}

与上面的例子相同的过渡效果,但是使用了简写的 transition 属性:

div

{

transition: width 1s linear 2s;

 /* Safari */

-webkit-transition:width 1s linear 2s;

}

CSS3 动画

CSS3 可以创建动画,它可以取代许多网页动画图像、Flash 动画和 JavaScript 实现的效果。

CSS3 @keyframes 规则

要创建 CSS3 动画,你需要了解 @keyframes 规则。

实例

@keyframes myfirst

{

from {background: red;}

to {background: yellow;}

}

@-webkit-keyframes myfirst /* Safari 与 Chrome */

{

from {background: red;}

to {background: yellow;}

}

@keyframes 规则是创建动画。

@keyframes 规则内指定一个 CSS 样式和动画将逐步从目前的样式更改为新的样式。

CSS3 动画

当在 @keyframes 创建动画,把它绑定到一个选择器,否则动画不会有任何效果。

指定至少这两个CSS3的动画属性绑定向一个选择器:

规定动画的名称

规定动画的时长

实例

把 "myfirst" 动画捆绑到 div 元素,时长:5 秒:

div

{

animation: myfirst 5s;

-webkit-animation: myfirst 5s; /* Safari 与 Chrome */

}

注意: 您必须定义动画的名称和动画的持续时间。如果省略的持续时间,动画将无法运行,因为默认值是0。

CSS3动画是什么?

动画是使元素从一种样式逐渐变化为另一种样式的效果。

您可以改变任意多的样式任意多的次数。

请用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%。

0% 是动画的开始,100% 是动画的完成。

为了得到最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。

实例

当动画为 25% 及 50% 时改变背景色,然后当动画 100% 完成时再次改变:

@keyframes myfirst

{

 0%  {background: red;}

 25% {background: yellow;}

 50% {background: blue;}

 100% {background: green;}

}

@-webkit-keyframes myfirst /* Safari 与 Chrome */

{

 0%  {background: red;}

 25% {background: yellow;}

 50% {background: blue;}

 100% {background: green;}

}

实例

改变背景色和位置:

@keyframes myfirst

{

 0%  {background: red; left:0px; top:0px;}

 25% {background: yellow; left:200px; top:0px;}

 50% {background: blue; left:200px; top:200px;}

 75% {background: green; left:0px; top:200px;}

 100% {background: red; left:0px; top:0px;}

}

@-webkit-keyframes myfirst /* Safari 与 Chrome */

{

 0%  {background: red; left:0px; top:0px;}

 25% {background: yellow; left:200px; top:0px;}

 50% {background: blue; left:200px; top:200px;}

 75% {background: green; left:0px; top:200px;}

 100% {background: red; left:0px; top:0px;}

}

运行myfirst动画,设置所有的属性:

div

{

animation-name: myfirst;

animation-duration: 5s;

animation-timing-function: linear;

animation-delay: 2s;

animation-iteration-count: infinite;

animation-direction: alternate;

animation-play-state: running;

 /* Safari 与 Chrome: */

-webkit-animation-name: myfirst;

-webkit-animation-duration: 5s;

-webkit-animation-timing-function: linear;

-webkit-animation-delay: 2s;

-webkit-animation-iteration-count: infinite;

-webkit-animation-direction: alternate;

-webkit-animation-play-state: running;

}

与上面的动画相同,但是使用了简写的动画 animation 属性:

div

{

animation: myfirst 5s linear 2s infinite alternate;

 /* Safari 与 Chrome: */

-webkit-animation: myfirst 5s linear 2s infinite alternate;

}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,045评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,114评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,120评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,902评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,828评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,132评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,590评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,258评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,408评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,335评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,385评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,068评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,660评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,747评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,967评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,406评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,970评论 2 341

推荐阅读更多精彩内容

  • transform、transition、animation分别代表着转换、过渡以及动画。从各自的名字我们就可以大...
    Ginkela阅读 3,771评论 0 12
  • CSS参考手册 一、初识CSS3 1.1 CSS是什么 CSS3在CSS2.1的基础上增加了很多强大的新功能。目前...
    没汁帅阅读 3,546评论 1 13
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,300评论 0 11
  • 有了文字,就有了有文字可考的历史。 文字的产生虽然有早有迟,但大体上是与阶级社会同时诞生 的。有了文字,用什么材料...
    简什么阅读 507评论 0 5
  • 昨天收到老师发小黑板的信息,今天分时间段去学校参观孩子们寒假作业以及手工作品,上午没空去,下午等跟孩子一起去...
    秋日私语666阅读 229评论 0 0