CSS奥林匹克环
>本文重新审视了一个2020年的项目:动画3D奥林匹克环。 原始的SCSS代码虽然功能性,但缺乏现代效率。此更新的版本使用纯CSS,利用三角函数和相对颜色语法,以清洁,更简洁的代码。 结果是一个更具性能和优雅的解决方案。
使用分层divs实现3D效果。每个戒指都包含16层,每个环都有略有不同的阴影,以产生照明效果。 层的大小和定位产生了三维环的幻觉。
元素使用自定义属性
>创建圆形。 自定义属性
使用相对颜色语法可以实现 和 >在<div>(从1到16不等)通过CSS控制其样式。 EMMET可以简化创建重复的HTML结构。 这是一个片段:<code><i></i>
<i></i>
--i
属性用作层,大小和颜色的CSS计算中的乘数。
<div class="rings">
<div class="ring ring__1">
<i style="--i: 1;"></i>
<i style="--i: 2;"></i>
<!-- ... more layers ... -->
<i style="--i: 16;"></i>
</div>
<!-- ... more rings ... -->
</div>
--i
>包含绝对定位的环。 每个
绝对是定位的,其儿童继承了绝对定位。 .rings
设置基本颜色。position: relative
.ring
<i></i>
属性设置为负值,将图层定位在border-radius: 50%
>元素之外,从而有效地定义了其大小。 使用--ringColor
进行计算的自定义属性,沿z轴定位图层以创建深度:inset
阴影。根据.ring
计算的自定义属性,修改了--translateZ
>的轻度:--i
.ring {
position: absolute;
--ringColor: #0085c7;
i {
position: absolute;
inset: -100px;
border-radius: 50%;
--translateZ: calc(var(--i) * 2px);
transform: rotateY(-45deg) translateZ(var(--translateZ));
}
}
塑形和动画
--light
使用--i
函数计算的自定义属性确定边框厚度,创建环的圆形形状:--ringColor
i {
--light: calc(var(--i) / 16);
--layerColor: rgb(from var(--ringColor) calc(r * var(--light)) calc(g * var(--light)) calc(b * var(--light)));
border: var(--size) var(--layerColor) solid;
outline: var(--size) var(--layerColor) solid;
}
控制,带有负面延迟,以使动画交错。
最终触摸和优化
以上是CSS奥林匹克环的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

您是否曾经在项目上需要一个倒计时计时器?对于这样的东西,可以自然访问插件,但实际上更多

我关注的一件事是Lea Verou&#039; s conic-Gradient()Polyfill的功能列表是最后一项:
