188bet uedbet 威廉希尔 明升 bwin 明升88 bodog bwin 明升m88.com 18luck 188bet unibet unibet Ladbrokes Ladbrokes casino m88明升 明升 明升 m88.com 188bet m88 明陞 uedbet赫塔菲官网 365bet官网 m88 help
188bet www.188bet.com bwin 平博 unibet 明升 188bet uk Ladbrokes 德赢vwin 188bet m88.com w88 平博88 uedbet体育 188bet 188bet 威廉希尔 明升体育app 平博88 M88 Games vwin德赢 uedbet官网 bodog fun88 188bet

运用css创立三角形 运用CSS3创立3d四面体原理及代码(html5实践)_HTML5教程

修改Tag赚U币

引荐:html5攻略-1.html5大局特点(html5 global attributes)深化了解
一个元素能够界说自己的特点,比方a标签界说href特点,这种叫部分特点(local attribute)。相对应的咱们能够经过大局特点(global attribute)为一切元素设置共有的行为,当然你也能够为独自元素设置大局特点,仅仅这样做没有太大的含义

今日读了篇关于怎么运用css3创立3d四面体的文章,觉的适当不错,所以拿出来和咱们共享一下。 
首要要和咱们共享的是,怎么运用div+css创立三角形。在这儿我先把相关代码张贴出来,然后再为咱们解说原理。
html

仿制代码 代码如下:www.shymjbg.com

<div id="pyramid">
<div></div>
</div>

css

仿制代码 代码如下:www.shymjbg.com

<style type="text/css">
#pyramid {
position: relative;
margin: 100px auto;
height: 500px;
width: 100px;
}
#pyramid > div {
position: absolute;
border-style: solid;
border-width: 200px 0 200px 346px;
}
#pyramid > div:after {
position: absolute;
content: "Triangle";
color: #fff;
left: -250px;
text-align: center;
}
#pyramid > div:first-child {
border-color: #ff0000 transparent #ff0000 rgba(50, 50, 50, 0.6);
}
</style>
 
运转作用

原了解析:
html代码中咱们界说了两个div,外部div是容器目标,内部div用来生成三角形。css代码中,咱们没有为内部div设置宽度和高度,只设置了border三个边的宽度(上、下和左)。经过为三个边设置不同色彩,他们会别离变成三个不同的三角形。
这时,咱们只需求简略的将上下两头的色彩设置为通明色,一个等边三角形就呈现了。

仿制代码 代码如下:www.shymjbg.com

#pyramid > div:first-child {
border-color: transparent transparent transparent rgba(50, 50, 50, 0.6);
}

作用图:
 
其间,红圈所示的当地便是内部div所在方位。他是个看不见的,0宽度0高度,但又实践存在的目标。
咱们接下来要讲的是怎么完成3d四面体和怎么创立动画。
首要仍是张贴相关的代码。
html:

仿制代码 代码如下:www.shymjbg.com

<div id="pyramid">
<div></div>
<div></div>
<div></div>
<div></div>
</div>

css

仿制代码 代码如下:www.shymjbg.com

<style type="text/css">
#pyramid {
position: relative;
margin: 100px auto;
height: 500px;
width: 100px;
-webkit-transform-style: preserve-3d;
-webkit-animation: spin 10s linear infinite;
-webkit-transform-origin: 116px 200px 116px;
-moz-transform-style: preserve-3d;
-moz-animation: spin 10s linear infinite;
-moz-transform-origin: 116px 200px 116px;
-ms-transform-style: preserve-3d;
-ms-animation: spin 10s linear infinite;
-ms-transform-origin: 116px 200px 116px;
transform-style: preserve-3d;
animation: spin 10s linear infinite;
transform-origin: 116px 200px 116px;
}
@-webkit-keyframes spin {
from {
-webkit-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
}
to {
-webkit-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
}
}
@-moz-keyframes spin {
from {
-moz-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
}
to {
-moz-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
}
}
@-ms-keyframes spin {
from {
-ms-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
}
to {
-ms-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
}
}
@keyframes spin {
from {
transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
}
to {
transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
}
}
#pyramid > div {
position: absolute;
border-style: solid;
border-width: 200px 0 200px 346px;
-webkit-transform-origin: 0 0;
-moz-transform-origin: 0 0;
-ms-transform-origin: 0 0;
transform-origin: 0 0;
}
#pyramid > div:after {
position: absolute;
content: "Triangle";
color: #fff;
left: -250px;
text-align: center;
}
#pyramid > div:first-child {
border-color: transparent transparent transparent rgba(50, 50, 50, 0.6);
-webkit-transform: rotateY(-19.5deg) rotateX(180deg) translateY(-400px);
-moz-transform: rotateY(-19.5deg) rotateX(180deg) translateY(-400px);
-ms-transform: rotateY(-19.5deg) rotateX(180deg) translateY(-400px);
transform: rotateY(-19.5deg) rotateX(180deg) translateY(-400px);
}
#pyramid > div:nth-child(2) {
border-color: transparent transparent transparent rgba(50, 50, 50, 0.6);
-webkit-transform: rotateY(90deg) rotateZ(60deg) rotateX(180deg) translateY(-400px);
-moz-transform: rotateY(90deg) rotateZ(60deg) rotateX(180deg) translateY(-400px);
-ms-transform: rotateY(90deg) rotateZ(60deg) rotateX(180deg) translateY(-400px);
transform: rotateY(90deg) rotateZ(60deg) rotateX(180deg) translateY(-400px);
}
#pyramid > div:nth-child(3) {
border-color: transparent transparent transparent rgba(50, 50, 50, 0.9);
-webkit-transform: rotateX(60deg) rotateY(19.5deg);
-moz-transform: rotateX(60deg) rotateY(19.5deg);
-ms-transform: rotateX(60deg) rotateY(19.5deg);
transform: rotateX(60deg) rotateY(19.5deg);
}
#pyramid > div:nth-child(4) {
border-color: transparent transparent transparent rgba(50, 50, 50, 0.8);
-webkit-transform: rotateX(-60deg) rotateY(19.5deg) translateX(-116px) translateY(-200px) translateZ(326px);
-moz-transform: rotateX(-60deg) rotateY(19.5deg) translateX(-116px) translateY(-200px) translateZ(326px);
-ms-transform: rotateX(-60deg) rotateY(19.5deg) translateX(-116px) translateY(-200px) translateZ(326px);
transform: rotateX(-60deg) rotateY(19.5deg) translateX(-116px) translateY(-200px) translateZ(326px);
}
</style>

现在开端相关代码的解说。
html代码和之前的差不多,便是多了三个div,别离作为四面体的别的三个面。
css代码中,咱们运用 #pyramid > div:nth-child(n) 寻找到三面体的四个面,设置border四个边的色彩,将他们别离界说成三角形。经过transform特点的rotateX,rotateY,translateX,translateY和translateZ办法,设置他们在3维空间中的视点、朝向和方位。这儿涉及到许多数学常识,咱们需求去弥补相关常识。

经过上述设置,四面体就形成了。接下来便是为其增加动画作用。这儿运用的东西也很简略,便是animation和keyframes。CSS3/">css3相关特点,咱们能够到http://www.w3schools.com/css3/default.asp站点去学习,我这儿就不做过多解说了。

本文到此为止,咱们能够把html和css代码张贴在一起,检查终究作用。
代码里边有不明白的内容,咱们能够给我留言。

共享:html5 Canvas画图教程(6)—canvas里画曲线之arcTo办法
arc与arcTo,从姓名都能看出来类似。arcTo也是画曲线的办法,并且他画出的曲线也是正圆的一段弧线。但他的参数和arc简直是势不两立~,感兴趣的朋友能够了解下哦,接下来具体介绍arcTo办法的运用

来历:不知道//所属分类:HTML5教程/更新时刻:2013-04-22
相关HTML5教程