仅 CSS 动画绘制带有边框半径和透明背景的圆
问题:
如何创建动画边框-半径为透明背景的圆,同时遮盖圆的初始部分以获得绘图效果?
解决方案:
-
建立画布:
- 使用绝对定位和边框定义容器以供参考。
- 为遮罩创建一个 50% 宽度、绝对定位的半剪辑元素。
-
创建圆圈:
- 在半剪辑内,放置一个具有透明边框和蓝色顶部的圆圈,然后左边框颜色。
- 将圆圈在半剪辑内右对齐。
-
动画绘图:
- 使用 CSS 动画将圆从初始 -45 度位置旋转 135 度,以呈现绘图的外观。
- 将半剪辑动画旋转 360 度以保持遮罩不变
-
保持透明度:
- 向主体添加重复的线性渐变,以确保透明度和提供视觉上下文。
- 将渐变缩放到容器大小并将背景重复设置为不重复。
-
修复半圆:
- 创建第二个半圆(固定),无动画,旋转 135 度。
- 动画固定半圆的不透明度,使其在 50% 后出现
-
控制动画时间:
- 根据需要调整动画持续时间和时间以实现所需的绘制速度和效果。
代码片段:
<code class="css">body { background: repeating-linear-gradient(45deg, white 0px, lightblue 100px); height: 500px; background-size: 500px 500px; background-repeat: no-repeat; } #container { position: absolute; width: 400px; height: 400px; border: solid red 1px; animation: colors 4s infinite; } #halfclip { width: 50%; height: 100%; right: 0px; position: absolute; overflow: hidden; transform-origin: left center; animation: cliprotate 16s steps(2) infinite; -webkit-animation: cliprotate 16s steps(2) infinite; } .halfcircle { box-sizing: border-box; height: 100%; right: 0px; position: absolute; border: solid 25px transparent; border-top-color: blue; border-left-color: blue; border-radius: 50%; } #clipped { width: 200%; animation: rotate 8s linear infinite; -webkit-animation: rotate 8s linear infinite; } #fixed { width: 100%; transform: rotate(135deg); animation: showfixed 16s steps(2) infinite; -webkit-animation: showfixed 16s linear infinite; } @-webkit-keyframes cliprotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes cliprotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @-webkit-keyframes rotate { 0% { transform: rotate(-45deg); } 100% { transform: rotate(135deg); } } @keyframes rotate { 0% { transform: rotate(-45deg); } 100% { transform: rotate(135deg); } } @-webkit-keyframes showfixed { 0% { opacity: 0; } 49.9% { opacity: 0; } 50% { opacity: 1; } 100% { opacity: 1; } } </code>
以上是如何仅使用 CSS 创建具有透明背景的平滑动画圆形绘制效果?的详细内容。更多信息请关注PHP中文网其他相关文章!

文章讨论了CSS FlexBox,这是一种布局方法,用于有效地对齐和分布响应设计中的空间。它说明了FlexBox用法,将其与CSS网格进行了比较,并详细浏览了浏览器支持。

本文讨论了使用CSS创建响应网站的技术,包括视口元标签,灵活的网格,流体媒体,媒体查询和相对单元。它还涵盖了使用CSS网格和Flexbox一起使用,并推荐CSS框架

本文讨论了CSS盒装属性,该属性控制了元素维度的计算方式。它解释了诸如Content-Box,Border-Box和Padding-Box之类的值,以及它们对布局设计和形式对齐的影响。


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

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

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),