css3的3d效果如何实现?一文教你用css3做3D隧道
Admin 2021-09-28 群英技术资讯 1041 次浏览
在CSS3中,我们可以实现3D的效果,但是一些刚接触CSS3的朋友,可能不知道css3的3d效果该怎样做,因此这篇文章就给大家分享一下用css3做3D隧道效果的示例,感兴趣的朋友可以参考,接下来我们一起看看吧。

html
<div class="scene">
<div class="wrapper">
<ul class="tunnel">
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
</ul>
</div>
</div>
css3
@keyframes roundandround {
to {
transform: rotateX(360deg);
}
}
body {
background-color: #000000;
}
.scene {
width: 600px;
height: 600px;
margin: 0 auto;
perspective: 500px;
}
.wrapper {
width: 100%;
height: 100%;
transform-style: preserve-3d;
transform: rotateY(0deg) translateZ(300px);
}
.tunnel {
position: relative;
width: 200px;
height: 200px;
margin: 0 auto;
transform-style: preserve-3d;
animation: roundandround 10s infinite linear;
}
.tunnel .ring {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 6px;
border-style: dashed;
border-radius: 50%;
transform-origin: 50% 50%;
color: #8df435;
transform: translateY(-200px);
}
/* SASS optimisation thanks to @imjared */
.ring:nth-child(1) {
color: #ff1500;
transform: rotateX(5deg) translateY(-200px);
}
.ring:nth-child(2) {
color: #ff2b00;
transform: rotateX(10deg) translateY(-200px);
}
.ring:nth-child(3) {
color: #ff4000;
transform: rotateX(15deg) translateY(-200px);
}
.ring:nth-child(4) {
color: #ff5500;
transform: rotateX(20deg) translateY(-200px);
}
.ring:nth-child(5) {
color: #ff6a00;
transform: rotateX(25deg) translateY(-200px);
}
.ring:nth-child(6) {
color: #ff8000;
transform: rotateX(30deg) translateY(-200px);
}
.ring:nth-child(7) {
color: #ff9500;
transform: rotateX(35deg) translateY(-200px);
}
.ring:nth-child(8) {
color: #ffaa00;
transform: rotateX(40deg) translateY(-200px);
}
.ring:nth-child(9) {
color: #ffbf00;
transform: rotateX(45deg) translateY(-200px);
}
.ring:nth-child(10) {
color: #ffd500;
transform: rotateX(50deg) translateY(-200px);
}
.ring:nth-child(11) {
color: #ffea00;
transform: rotateX(55deg) translateY(-200px);
}
.ring:nth-child(12) {
color: yellow;
transform: rotateX(60deg) translateY(-200px);
}
.ring:nth-child(13) {
color: #eaff00;
transform: rotateX(65deg) translateY(-200px);
}
.ring:nth-child(14) {
color: #d5ff00;
transform: rotateX(70deg) translateY(-200px);
}
.ring:nth-child(15) {
color: #bfff00;
transform: rotateX(75deg) translateY(-200px);
}
.ring:nth-child(16) {
color: #aaff00;
transform: rotateX(80deg) translateY(-200px);
}
.ring:nth-child(17) {
color: #95ff00;
transform: rotateX(85deg) translateY(-200px);
}
.ring:nth-child(18) {
color: #80ff00;
transform: rotateX(90deg) translateY(-200px);
}
.ring:nth-child(19) {
color: #6aff00;
transform: rotateX(95deg) translateY(-200px);
}
.ring:nth-child(20) {
color: #55ff00;
transform: rotateX(100deg) translateY(-200px);
}
.ring:nth-child(21) {
color: #40ff00;
transform: rotateX(105deg) translateY(-200px);
}
.ring:nth-child(22) {
color: #2bff00;
transform: rotateX(110deg) translateY(-200px);
}
.ring:nth-child(23) {
color: #15ff00;
transform: rotateX(115deg) translateY(-200px);
}
.ring:nth-child(24) {
color: lime;
transform: rotateX(120deg) translateY(-200px);
}
.ring:nth-child(25) {
color: #00ff15;
transform: rotateX(125deg) translateY(-200px);
}
.ring:nth-child(26) {
color: #00ff2b;
transform: rotateX(130deg) translateY(-200px);
}
.ring:nth-child(27) {
color: #00ff40;
transform: rotateX(135deg) translateY(-200px);
}
.ring:nth-child(28) {
color: #00ff55;
transform: rotateX(140deg) translateY(-200px);
}
.ring:nth-child(29) {
color: #00ff6a;
transform: rotateX(145deg) translateY(-200px);
}
.ring:nth-child(30) {
color: #00ff80;
transform: rotateX(150deg) translateY(-200px);
}
.ring:nth-child(31) {
color: #00ff95;
transform: rotateX(155deg) translateY(-200px);
}
.ring:nth-child(32) {
color: #00ffaa;
transform: rotateX(160deg) translateY(-200px);
}
.ring:nth-child(33) {
color: #00ffbf;
transform: rotateX(165deg) translateY(-200px);
}
.ring:nth-child(34) {
color: #00ffd5;
transform: rotateX(170deg) translateY(-200px);
}
.ring:nth-child(35) {
color: #00ffea;
transform: rotateX(175deg) translateY(-200px);
}
.ring:nth-child(36) {
color: cyan;
transform: rotateX(180deg) translateY(-200px);
}
.ring:nth-child(37) {
color: #00eaff;
transform: rotateX(185deg) translateY(-200px);
}
.ring:nth-child(38) {
color: #00d5ff;
transform: rotateX(190deg) translateY(-200px);
}
.ring:nth-child(39) {
color: deepskyblue;
transform: rotateX(195deg) translateY(-200px);
}
.ring:nth-child(40) {
color: #00aaff;
transform: rotateX(200deg) translateY(-200px);
}
.ring:nth-child(41) {
color: #0095ff;
transform: rotateX(205deg) translateY(-200px);
}
.ring:nth-child(42) {
color: #0080ff;
transform: rotateX(210deg) translateY(-200px);
}
.ring:nth-child(43) {
color: #006aff;
transform: rotateX(215deg) translateY(-200px);
}
.ring:nth-child(44) {
color: #0055ff;
transform: rotateX(220deg) translateY(-200px);
}
.ring:nth-child(45) {
color: #0040ff;
transform: rotateX(225deg) translateY(-200px);
}
.ring:nth-child(46) {
color: #002bff;
transform: rotateX(230deg) translateY(-200px);
}
.ring:nth-child(47) {
color: #0015ff;
transform: rotateX(235deg) translateY(-200px);
}
.ring:nth-child(48) {
color: blue;
transform: rotateX(240deg) translateY(-200px);
}
.ring:nth-child(49) {
color: #1500ff;
transform: rotateX(245deg) translateY(-200px);
}
.ring:nth-child(50) {
color: #2b00ff;
transform: rotateX(250deg) translateY(-200px);
}
.ring:nth-child(51) {
color: #4000ff;
transform: rotateX(255deg) translateY(-200px);
}
.ring:nth-child(52) {
color: #5500ff;
transform: rotateX(260deg) translateY(-200px);
}
.ring:nth-child(53) {
color: #6a00ff;
transform: rotateX(265deg) translateY(-200px);
}
.ring:nth-child(54) {
color: #8000ff;
transform: rotateX(270deg) translateY(-200px);
}
.ring:nth-child(55) {
color: #9500ff;
transform: rotateX(275deg) translateY(-200px);
}
.ring:nth-child(56) {
color: #aa00ff;
transform: rotateX(280deg) translateY(-200px);
}
.ring:nth-child(57) {
color: #bf00ff;
transform: rotateX(285deg) translateY(-200px);
}
.ring:nth-child(58) {
color: #d500ff;
transform: rotateX(290deg) translateY(-200px);
}
.ring:nth-child(59) {
color: #ea00ff;
transform: rotateX(295deg) translateY(-200px);
}
.ring:nth-child(60) {
color: magenta;
transform: rotateX(300deg) translateY(-200px);
}
.ring:nth-child(61) {
color: #ff00ea;
transform: rotateX(305deg) translateY(-200px);
}
.ring:nth-child(62) {
color: #ff00d5;
transform: rotateX(310deg) translateY(-200px);
}
.ring:nth-child(63) {
color: #ff00bf;
transform: rotateX(315deg) translateY(-200px);
}
.ring:nth-child(64) {
color: #ff00aa;
transform: rotateX(320deg) translateY(-200px);
}
.ring:nth-child(65) {
color: #ff0095;
transform: rotateX(325deg) translateY(-200px);
}
.ring:nth-child(66) {
color: #ff0080;
transform: rotateX(330deg) translateY(-200px);
}
.ring:nth-child(67) {
color: #ff006a;
transform: rotateX(335deg) translateY(-200px);
}
.ring:nth-child(68) {
color: #ff0055;
transform: rotateX(340deg) translateY(-200px);
}
.ring:nth-child(69) {
color: #ff0040;
transform: rotateX(345deg) translateY(-200px);
}
.ring:nth-child(70) {
color: #ff002b;
transform: rotateX(350deg) translateY(-200px);
}
.ring:nth-child(71) {
color: #ff0015;
transform: rotateX(355deg) translateY(-200px);
}
.ring:nth-child(72) {
color: red;
transform: rotateX(360deg) translateY(-200px);
}
以上就是关于css3的3d效果实现的内容,上述实现3D隧道效果的实例对新手学习和理解CSS3的使用有一定帮助,有需要的朋友可以参考学习,想要了解更多CSS3实现3D效果的方法技巧,大家可以继续浏览群英网络其他相关的文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在一次项目中,有一次要用到::selection伪元素,然后开发同学问我,CSS中一个冒号和两个冒号有神马区别?这好像真的是个问题,或许很多前端同学对此都有疑惑,查了些资料,证实了下两个符号的区别,简而言之:单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素。W3C关于CSS3选择器的规范中有一段描述:Apseudo-elementismadeoftwocolons
本文通过实例代码给大家介绍了基于csss3实现多样的边框效果,有半透明边框,多重边框,边框内圆角,具体效果图和实现代码大家参考下本文
这篇文章主要介绍了Html5移动端网页端适配(js+rem),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
css规则的基本格式是“选择器{属性:属性值;}”。“选择器”用于告诉浏览器“{}”包裹的样式将作用于页面中哪些对象,“属性”是CSS提供的设置好的样式选项,“属性值”是用来显示属性效果的参数。
本篇文章给大家带来了关于css的相关知识,其中主要介绍了关于如何解决div外边距重合的相关问题,外边距的重叠只产生在普通流文档的上下外边距之间,只有块元素会发生外边距重叠,行内元素和行内块元素都不会发生外边距重叠问题,下面一起来看一下,希望对大家有帮助。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008