css3怎么制作打开的大门动画代码

html-css014

css3怎么制作打开的大门动画代码,第1张

方法/步骤

首先,先在<body></body>中加入门

然后写好大门的css,如下:[由于本人设计不好,所以这里的门都是用颜色块代替的,大家在用的时候可以换成各种门的背景]

div{

margin:0

padding:0

}

.door{

width:450px

height:450px

position:relative

background:#a1a1a1

}

.door .leftDoor,.door .rightDoor{

position:absolute

width:224px

height:400px

top:57px

top:50px

background:#d1d1d1

}

.door .leftDoor{

left:0

border-right:1px solid #999

box-shadow:inset -2px -2px 10px rgba(0, 0, 0, 0.1)

-webkit-animation:leftDoor 5s 1

-moz-animation:leftDoor 5s 1

-o-animation:leftDoor 5s 1

animation:leftDoor 5s 1

-webkit-transform-origin: 0% 40%

-moz-transform-origin: 0% 40%

-o-transform-origin: 0% 40%

transform-origin: 0% 40%

}

.door .rightDoor{

right:0

border-left:1px solid #999

box-shadow:inset 2px -2px 10px rgba(0, 0, 0, 0.1)

-webkit-animation:rightDoor 5s 1

-moz-animation:rightDoor 5s 1

-o-animation:rightDoor 5s 1

animation:rightDoor 5s 1

-webkit-transform-origin: 100% 40%

-moz-transform-origin: 100% 40%

-o-transform-origin: 100% 40%

transform-origin: 100% 40%

}

先为左边的门添加动画

@-webkit-keyframes leftDoor {

0%,100% {

-webkit-transform-origin: 0% 40%

}

0{

-webkit-transform:perspective(0) rotateY(0)

}

100% {

-webkit-transform:perspective(600px) rotateY(70deg)

}

}

@-moz-keyframes leftDoor {

0%,100% {

-moz-transform-origin: 0% 40%

}

0{

-moz-transform:perspective(0) rotateY(0)

}

100% {

-moz-transform:perspective(600px) rotateY(70deg)

}

}

@-o-keyframes leftDoor {

0%,100% {

-o-transform-origin: 0% 40%

}

0{

-o-transform:perspective(0) rotateY(0)

}

100% {

-o-transform:perspective(600px) rotateY(70deg)

}

}

@keyframes leftDoor {

0%,100% {

transform-origin: 0% 40%

}

0{

transform:perspective(0) rotateY(0)

}

100% {

transform:perspective(600px) rotateY(70deg)

}

}

然后为右边的门添加css3动画,由于左右门对称,只要变化相应的地方就行了

@-webkit-keyframes rightDoor {

0%,100% {

-webkit-transform-origin: 100% 40%

}

0{

-webkit-transform:perspective(0) rotateY(0)

}

100% {

-webkit-transform:perspective(600px) rotateY(-70deg)

}

}

@-moz-keyframes rightDoor {

0%,100% {

-moz-transform-origin: 100% 40%

}

0{

-moz-transform:perspective(0) rotateY(0)

}

100% {

-moz-transform:perspective(600px) rotateY(-70deg)

}

}

@-o-keyframes rightDoor {

0%,100% {

-o-transform-origin: 100% 40%

}

0{

-o-transform:perspective(0) rotateY(0)

}

100% {

-o-transform:perspective(600px) rotateY(-70deg)

}

}

@keyframes rightDoor {

0%,100% {

transform-origin: 100% 40%

}

0{

transform:perspective(0) rotateY(0)

}

100% {

transform:perspective(600px) rotateY(-70deg)

}

}

5

这里的动画主要用到的是rotate和perspective

6

如果想要动画点击后才开门,可以加入一个按钮,然后js控制

CSS level1的时候,那时候只有支持16个基本颜色关键字,诸如black, white这些货,为什么数目这么少呢?我们可以想想当时的显示器水平,不是黑白的已经不错了。

然后,CSS level2的时候,加入了橙色orange, 棕色brown等等颜色关键字。

然后,到了CSS level3的时候,颜色关键字家族进一步壮大,mediumturquoise这样的都出现了。这些扩展的CSS颜色关键字,是有专门的名称的,称之为”X11颜色名“,这里的”X11″不是11区的意思,而是指用来位图显示的X Window System,常见于UNIX-like计算机系统上。

hsl颜色,是CSS3才出现的颜色表现格式,因此IE9+浏览器才支持。和rgb分别表示red, green, blue一样,hsl颜色三个字母也有自己的含义,其中,h表示Hue, 是色调的意思,取值懂0~360,大致按照数值红橙黄绿青蓝紫变化的节奏;s表示Saturation, 饱和度的意思,0~100%表示,值越大,饱和度越高,颜色越亮,通常我们评价某设计亮瞎我们的狗眼,就是你这个设计颜色饱和度太高的另一种说法;l表示Lightness,亮度的意思,也是0~100%表示,越亮。100%就是白色,50%则是正常亮度,0%的亮度就是黑色。

第 1 选择器

第 2 RGBA和透明度

第 3 多栏布局

第 4 多背景图

第 5 Word Wrap

第 6 文字阴影

第 7 @font-face属性

第 8 圆角(边框半径)

第 9 边框图片

第 10 盒阴影

第 11 盒子大小

第 12 媒体查询

第 13 语音

1、CSS3圆角表格圆角表格,对应属性:border-radius。

2、以往对网页上的文字加特效只能用filter这个属性,这次CSS3中专门制订了一个加文字特效的属性,而且不止加阴影这种效果。对应属性:font-effect。

4、在文字下点几个点或打个圈以示重点,CSS3也开始加入了这项功能,这应该在某些特定网页上很有用。对应属性:font-emphasize-style和font-emphasize-position。

边框(Borders)

border-color:控制边框颜色,并且有了更大的灵活性,可以产生渐变效果;

border-image:控制边框图象 CSS3边框border-corner-image:控制边框边角的图象;

border-radius:能产生类似圆角矩形的效果。

背景(Backgrounds)

background-origin:决定了背景在盒模型中的初始位置,提供了3个值,border, padding和content。

border:控制背景起始于左上角的边框;

padding:控制背景起始于左上角的留白;

content:控制背景起始于左上角的内容 CSS3背景background-clip:决定边框是否覆盖住背景(默认是不覆盖),提供了两个值,border和padding。

border:会覆盖住背景;

padding:不会覆盖背景;

background-size:可以指定背景大小,以象素或百分比显示。当指定为百分比时,大小会由所在区域的宽度、高度,以及background-origin的位置决定。

multiple backgrounds:多重背景图象,可以把不同背景图象只放到一个块元素里。

文字效果(Text effects)

text-shadow:文字投影,可能是因为MAC OSX的Safari浏览器开始支持投影才特意增加的。

text -overflow:当文字溢出时,用“…”提示。包 CSS3文字效果括ellipsis、clip、ellipsis-word、inherit,前两个CSS2就有了,目前还是部分支持,但有趣的是IE6居然也支持。ellipsis-word可以省略掉最后一个单词,对中文意义不大,inherit可以继承父级元素。

颜色(Color)

HSL colors:除了支持RGB颜色外,还支持HSL(色相、饱和度、亮度)。以前一般都是作图的时候用HSL色谱,但这样一来会包括更多的颜色。H用度表示,S和L用百分比表示,比如hsl(0,100%, 50%)

HSLA colors:加了个不透明度(Apacity),用0到1之间的数来表示,比如hsla(0,100%,50%,0.2)

opacity:直接控制不透明度,用0到1之间的数来表示。

实现这样的效果非常简单,设置颜色的时候我们使用标准的rgba()单位即可,例如rgba(255,0,0,0.4)这样就出现了一个红色同时拥有alpha透明为0.4的颜色。

经过测试firefox3.0、safari3.2、opera10都支持了rgba单位。

用户界面(User-interface)

resize:可以由用户自己调整div的大小,有horizontal(水平)vertical(垂直)或者both(同时),或者同时调整。如果再加上max-width或min-width的话还可以防止破坏布局。

选择器(Selectors)

CSS3增加了更多的CSS选择器,可以实现更简单但是更强大的功能,比如:nth-child()等。

其它模块:

(Other modules)

media queries:感觉叫媒体选择比较合适,可以为网页中不同的对象设置不同的浏览设备。比如可以为某一块分别设置屏幕浏览样式和手机浏览样式,以前则只能设置整个网页。

multi-column layout:多列布局,让文字以多列显示,包括column-width、column-count、column-gap三个值。

column-width:指定每列宽度

column-count:指定列数

column-gap:指定每列之间的间距

column-rule-color:控制列间的颜色

column-rule-style:控制列间的样式

column-rule-width:控制列间的宽度

column-space-distribution:平均分配列间距。