亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

使用css創建三角形 使用CSS3創建3d四面體原理及代碼(html5實踐)

2024-08-26 00:15:01
字體:
來源:轉載
供稿:網友
今天讀了篇關于如何使用css3創建3d四面體的文章,覺的相當不錯,所以拿出來和大家分享一下。 
首先要和大家分享的是,如何使用div+css創建三角形。在這里我先把相關代碼粘貼出來,然后再為大家講解原理。
html

復制代碼 代碼如下:www.CuoXIn.com

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

css

復制代碼 代碼如下:www.CuoXIn.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.CuoXIn.com

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

效果圖:
 
其中,紅圈所示的地方就是內部div所在位置。他是個看不見的,0寬度0高度,但又實際存在的對象。
我們接下來要講的是如何實現3d四面體和如何創建動畫。
首先還是粘貼相關的代碼。
html:

復制代碼 代碼如下:www.CuoXIn.com

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

css

復制代碼 代碼如下:www.CuoXIn.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代碼粘貼在一起,查看最終效果。
代碼里面有不懂的內容,大家可以給我留言。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧洲免费视频| 国产精品美女主播在线观看纯欲| 91超碰中文字幕久久精品| 九九热精品在线| 日韩免费观看高清| 精品久久久久久久久久久| 国产亚洲欧美日韩一区二区| 高清在线视频日韩欧美| 伊人成人开心激情综合网| 国产欧美一区二区三区在线看| 久久九九热免费视频| 在线丨暗呦小u女国产精品| 欧美亚洲成人网| 中日韩午夜理伦电影免费| 一区二区av在线| 成人亚洲激情网| 97成人精品视频在线观看| 亚洲欧美日韩中文在线| 日韩中文字幕欧美| 狠狠色香婷婷久久亚洲精品| 国产91在线视频| 激情av一区二区| 97视频在线观看网址| 久久久久久亚洲精品| 亚洲精品久久久久久久久久久久| 欧美激情视频一区二区三区不卡| 91精品久久久久久久久不口人| 性欧美在线看片a免费观看| 久久免费视频在线观看| 亚州成人av在线| 欧美日韩精品国产| 国产999精品久久久影片官网| 国产精品久久久久不卡| 久久人人爽人人爽爽久久| 日本午夜在线亚洲.国产| 欧美成人激情在线| 亚洲第一视频网站| 国产欧美一区二区三区视频| 日韩精品免费在线视频观看| 日韩欧美国产黄色| 亚洲第一网站免费视频| 国产香蕉一区二区三区在线视频| 国产深夜精品福利| 精品国产91久久久久久| 欧美成人自拍视频| 91精品视频免费观看| 国产精品com| 欧美福利在线观看| 欧美主播福利视频| 亚洲国产古装精品网站| 国产极品精品在线观看| 亚洲欧美日韩国产中文专区| 国产98色在线| 性金发美女69hd大尺寸| 欧美成人久久久| 色综合老司机第九色激情| 成人黄色av免费在线观看| 亚洲自拍中文字幕| 成人亚洲激情网| 日韩欧美aaa| 国产不卡av在线免费观看| 色综合久综合久久综合久鬼88| 91久久综合亚洲鲁鲁五月天| 2020久久国产精品| 久久福利视频导航| 久久久久久久久久久久久久久久久久av| 日本三级久久久| 欧美国产激情18| 中文字幕精品一区二区精品| 欧美精品福利在线| 欧美性色19p| 久久久久国产精品免费网站| 97国产成人精品视频| 777国产偷窥盗摄精品视频| 久久这里有精品视频| 久久九九全国免费精品观看| 国内精品久久久久影院 日本资源| 欧美日韩美女在线观看| 国产成人在线一区| 成人性生交大片免费看视频直播| 国产亚洲精品日韩| 亚洲四色影视在线观看| 日韩欧美亚洲一二三区| 日韩精品在线影院| 国产精国产精品| 在线观看日韩www视频免费| 日韩中文第一页| 欧美大奶子在线| 日韩在线视频网| 亚洲国内精品在线| 成人欧美一区二区三区在线湿哒哒| 欧美另类暴力丝袜| 亚洲色图25p| 欧美激情免费看| 97在线视频免费观看| 久久久久久久久久久免费| 日韩精品在线免费观看| 国产精品扒开腿爽爽爽视频| 国产第一区电影| 国产精品一区二区在线| 亚洲精品久久7777777| 成人免费淫片视频软件| 国产成人小视频在线观看| 欧美激情视频网| 日韩一区二区三区国产| 亚洲欧洲日本专区| 国语自产精品视频在线看| 91美女片黄在线观看游戏| 综合欧美国产视频二区| 高清欧美性猛交| 欧日韩在线观看| 日韩成人激情影院| 成人h视频在线| 精品无人区太爽高潮在线播放| 国产精品视频999| 国产97色在线| 国产精品999| 欧美亚洲另类激情另类| 亚洲国产精品一区二区久| 亚洲偷熟乱区亚洲香蕉av| 91久久在线视频| 精品国产成人在线| 欧美精品在线视频观看| 国产日韩中文字幕| 国产裸体写真av一区二区| 欧美日韩成人在线播放| 欧美在线播放视频| 午夜精品理论片| 国产精品香蕉在线观看| 国语自产精品视频在线看| 亚洲人成伊人成综合网久久久| 亚洲精品二三区| 亚洲欧洲xxxx| 国产精品男女猛烈高潮激情| 欧美日韩国内自拍| 国产精品福利小视频| 有码中文亚洲精品| 国产精品一久久香蕉国产线看观看| 亚洲精品网址在线观看| 亚洲欧洲黄色网| 欧美性少妇18aaaa视频| 精品国产网站地址| 亚洲女人天堂视频| 色综合天天综合网国产成人网| 精品色蜜蜜精品视频在线观看| 69精品小视频| 欧美中文字幕在线视频| 国产精品自产拍在线观看中文| 成人女保姆的销魂服务| 欧美在线一区二区三区四| 日本午夜人人精品| 国产丝袜精品第一页| 欧美一区二区大胆人体摄影专业网站| 亚洲国产精品高清久久久| 色哟哟亚洲精品一区二区| 国产91对白在线播放| 91精品国产免费久久久久久| 久久亚洲精品成人| 国产精品精品久久久久久| 久久综合伊人77777| 国产精品爽爽爽爽爽爽在线观看| 日韩不卡在线观看| 亚洲福利在线视频| 亚洲97在线观看|