当前位置: 首页 > Web前端 > vue.js

3D无限效果CSS教程

时间:2023-03-31 15:40:47 vue.js

前言先点赞再看,养成习惯(恋爱继续)~在本教程中,我将向您展示如何仅使用CSS变换和CSS滤镜创建3D无限效果。CSS教程3D无限效果www.bilibili.com观看视频并单击上面的链接HTML那么,首先让我们从HTML结构开始。创建一个容器,然后创建一个子div并为其分配一个框架类,就这样,让我们??深入研究CSS。

CSS1。设置容器的宽高为100%,位置设置为relative,然后设置布局为灵活显示,使每个子元素居中。对于框架div,我将大小设置为900px正方形。然后设置position为absolute,borderradius和浅蓝色实心边框。.container{宽度:100%;高度:100%;位置:相对;显示:弹性;对齐项目:居中;证明内容:居中;}.frame{宽度:900px;-半径:50px;border:5px#087be6solid;}现在,在屏幕中间可以看到一个圆形正方形。2.使用CSSGradientGenerator工具生成背景色:用深蓝色和深紫色创建线性渐变。然后将代码复制到我们的CSS文件中,并将其放在body元素中。body{...背景:线性渐变(90deg,rgba(0,41,69,1)6%,rgb(53,0,56)29%,rgba(7,33,71,1)84%);}3.为第一组阴影添加box-shadow到box元素,我将使用2层淡蓝色。一个用于外部,一个用于内部(插图),然后重复代码以创建另一组。这一次,我将使用浅紫色和更大的模糊距离。.frame{...box-shadow:0px0px20px#00ccff,inset0px0px20px#00ccff,0px0px60px#ff00c8,inset0px0px60px#ff00c8;}这是结果,怎么样?让我们开始看起来不错!对于想学习前端,却不知从何下手的小伙伴,我特地准备了一个群545667817,整理了一份最全的前端学习资料(最基础的[HTML+css+JavaScript】到手机HTML5Project实战教程视频),想学的可以加入。另外,本专栏所有的初学者编码教学都可以在qun中获取(请管理小姐姐领取)。喜欢就点star+关注吧~接下来我会在容器中添加更多的边框,你想添加多少就添加多少。
然后在CSS中,使用第n个子选择器选择每一个子选择器。添加一个transform属性将它们旋转40度,然后逐渐增加translateY并减少translateZ和不透明度(重复代码以匹配您添加的框架元素的数量)。注意:Sass是编写像这样的冗余CSS规则的理想方式。.frame:nth-child(1){transform:rotate(40deg)translateY(0px)translateZ(0px);不透明度:1.00;animation-delay:0.1s;}.frame:nth-child(2){transform:rotate(40deg)translateY(50px)translateZ(-10px);不透明度:0.9;animation-delay:0.3s;}.frame:nth-child(3){transform:rotate(40deg)translateY(100px)translateZ(-20px);不透明度:0.85;animation-delay:0.5s;}这就是结果混乱的地方,因为我们没有设置容器的先前属性。所以浏览器会尝试将我们的变换呈现为2D。我将添加一个50像素的透视图并添加一个CSS滤镜以增加阴影的亮度和对比度以达到美感。.container{...perspective:50px;}.frame{...filter:brightness(1.5)contrast(3);}结果出现了!此外,您可以尝试更改透视量以尝试不同的透视。动画现在,最后一步是添加发光和缩放动画。首先创建关键帧,为容器的每一帧的亮度、对比度和透视设置动画。@keyframesbreathing{0%{filter:brightness(1.5)contrast(3);}50%{filter:brightness(1.1)contrast(2);}100%{filter:brightness(1.5)contrast(3);}}@keyframeszooming{0%{perspective:45px;}50%{perspective:50px;}100%{perspective:45px;}}然后应用animation.container{...animation:zooming10sease-in-outinfinite;}.frame{...animation:breathing3sease-outinfinite;}技巧是在每个动画延迟中加入动画延迟,逐渐增加延迟。frame:nth-child(1){...animation-delay:0.1s;}.frame:nth-child(2){...animation-delay:0.3s;}.frame:nth-child(3){...animation-delay:0.5s;}...最后,需要源码的小伙伴可以在我的交流群(545667817)找管理小姐姐获取。想看更多有趣的Web开发技巧和教程,别忘了关注我└(^o^)┘。