栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

CSS仅对具有边框半径和透明背景的Draw Circle进行动画处理

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CSS仅对具有边框半径和透明背景的Draw Circle进行动画处理

这是我的解决方案。

我在身体上设置背景以显示它是透明的

body {  background: repeating-linear-gradient(45deg, white 0px, lightblue 100px);  height: 500px;  background-size: 500px 500px;  background-repeat: no-repeat;}html {  height: 100%;}#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;}}<div id="container">    <div id="halfclip">        <div  id="clipped">        </div>    </div>    <div  id="fixed">    </div></div>

这是解决方案的一种变体,它只能在悬停时运行一次

body {  background: repeating-linear-gradient(45deg, white 0px, lightblue 100px);  height: 500px;  background-size: 500px 500px;  background-repeat: no-repeat;}html {  height: 100%;}#container {  position: absolute;  width: 300px;  height: 300px;   border: solid red 1px;}#halfclip {    width: 50%;    height: 100%;    right: 0px;    position: absolute;    overflow: hidden;    transform-origin: left center;}#container:hover #halfclip {    animation: cliprotate 6s 1;    transform: rotate(180deg);}@keyframes cliprotate {  0% {transform: rotate(0deg);}  50% {transform: rotate(0deg);}  50.01% {transform: rotate(180deg);}  100% {transform: rotate(180deg);}}.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%;    transform: rotate(-45deg);}#container:hover #clipped {    transform: rotate(135deg);    animation: rotate 3s linear 2;}@keyframes rotate {  0% {transform: rotate(-45deg);}  100% {transform: rotate(135deg);}}#fixed {  width: 100%;    transform: rotate(135deg);    opacity: 0;}#container:hover #fixed {    opacity: 1;    animation: showfixed 6s 1;}@keyframes showfixed {  0% {opacity: 0;}  49.99% {opacity: 0;}  50% {opacity: 1;} 100% {opacity: 1;}}<div id="container">    <div id="halfclip">        <div  id="clipped">        </div>    </div>    <div  id="fixed">    </div></div>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/442418.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号