[css] 使用css3画一个扇形

四个半圆叠加,过半调整 z-index

.container {
width: 200px;
height: 200px;
position: relative;
border-radius: 100%;
}

div {
width: 50%;
height: 100%;
position: absolute;
left: 0;
top: 0;
}

.fan-1,
.fan-3 {
background: #CC9999;
}

.fan-2,
.fan-4 {
background: white;
}

.fan-1,
.fan-2 {
border-radius: 100px 0 0 100px;
transform-origin: 100% 50%;
z-index: 2;
}

.fan-3,
.fan-4 {
z-index: 1;
left: 50%;
border-radius: 0 100px 100px 0;
transform-origin: 0% 50%;
}

.fan-4 {
animation: rotate-2 2s linear both infinite;
}

.fan-2 {
animation: rotate-1 2s linear both infinite;
}

.fan-3 {
animation: zIndex 2s linear both infinite;
}

@keyframes zIndex {
from {
z-index: 1;
}

50% {
z-index: 1;
}

50.000001% {
z-index: 2;
}

to {
z-index: 2;
}
}

@keyframes rotate-1 {
from {
transform: rotate(0);
}

50% {
transform: rotate(0);
}

to {
transform: rotate(180deg);
}
}

@keyframes rotate-2 {
from {
transform: rotate(0);
}

50% {
transform: rotate(180deg);
}

to {
transform: rotate(180deg);
}
}

clip-path 切多边形, border-radius 裁剪

1 .sector { display: inline-block; margin: 20px; background: #CC9999; width: 100px; height: 100px; border-radius: 100%; animation: sector 4s linear both infinite; transform: rotate(45deg); }

@keyframes sector{
from {
clip-path: polygon(50% 50%, 0% 0%, 0% 0%);
}
25% {
clip-path: polygon(50% 50%, 0% 0%, 100% 0%);
}
25.000001% {
clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 0%);
}
50%{
clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%);
}
50.000001%{
clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%, 100% 100%);
}
75%{
clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
75.000001%{
clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 100%);
}
to{
clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 0%);
}
}

静态:
先画一个圆,外加两个绝对定位的半圆
扇形可以通过两个半圆作为遮罩旋转来露出相应的角度实现
这只能切出180°以内的扇形
超过180°的扇形,就把圆作为底色,两个遮罩作为扇形的组成部分

想获得不同度数的扇形,改变 mask 样式里的度数即可。

1 2 3 4 5 .contain { position: relative; width: 200px; height: 200px; } .main { height: 100%; background: lightgreen; border-radius: 100px; } .common { position: absolute; top: 0; width: 50%; height: 100%; } .mask1 { transform: rotate(83deg); border-radius: 100px 0 0 100px; left: 0; transform-origin: right center; background: red; } .mask2 { transform: rotate(-76deg); transform-origin: left center; left: 100px; border-radius: 0 100px 100px 0; background: blue; } # 个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论

主目录

与歌谣一起通关前端面试题

[css] 使用css3画一个扇形相关推荐

  1. [css] 用css3画出一个立体魔方

    [css] 用css3画出一个立体魔方 <!DOCTYPE html> <html> <head><meta charset="utf-8" ...

  2. css如何调整红心样式_如何用html和CSS3画一个红心(爱心),初级简单代码实现...

    html和css是可以画一个红心的,可能许多刚学习web前端的朋友不知道,我们现在演示一下,大家以后遇到类似的东西可以不用图片来做了,可以直接写代码,图片需要从服务器传递请求再回复请求,如果一个网页图 ...

  3. HTML关于机器猫的小游戏,完美起航-用HTML5+CSS3画一个简易的机器猫头像

    用HTML5+CSS3画一个机器猫的头像,原图如下: 代码实现效果如下: 布局使用了绝对定位.相对定位以及浮动,鼻子使用了背景图像渐变的效果, 笑脸的嘴巴使用椭圆的下边框实现,胡须部分的细节处理得还是 ...

  4. 教你用CSS3画一个透视、旋转的正方体

    教你用CSS3画一个透视.旋转的正方体 正方体六个面,无非就是,将每个面进行translateZ提升/降低边长的一半,然后再进行rotate X/rotate Y (n*90deg)的旋转即可. ht ...

  5. [css] 使用css3做一个魔方旋转的效果

    [css] 使用css3做一个魔方旋转的效果 总的来说,用了一些 3D 效果的样式,如 translate3d,rotate3d,perspective,transform-style: preser ...

  6. [css] 使用css3实现一个斑马线的效果

    [css] 使用css3实现一个斑马线的效果 @ferrinweb 如果需要很多或者无限扩展的斑马线,你这个方案就有缺点了 @cxwht 你的方案需要增加额外的元素,不太理想 最好的办法是用渐变背景实 ...

  7. html实现画苹果,基于CSS3画一个iPhone

    实现效果: 实现代码 html css3 html, body { height: 100%; } body { text-align: center; padding: 50px; backgrou ...

  8. 【CSS】画一个扇形

    利用border属性画一个矩形 border: 200px solid red; 2.在矩形的基础上,画出三个等分的三角形,调整width border-left: 200px solid red; ...

  9. vbs画动态爱心代码_前端必看之如何用CSS3画一个八卦和爱心

    昨天雷雨交加,燥热有所缓解.今晨空气清新,再加上马上三天小长假,心情很不错,祝各位小长假玩的开心.那么,今天就用CSS3做些"不正紧"的事:画八卦和爱心. CSS3我们一般都是用来 ...

最新文章

  1. 成功的产品 = 做得好 + 卖得好
  2. console对象的方法log()、info()、warn()、error()区别及几个实用的方法
  3. [html] viewport常见设置都有哪些?
  4. iphone最新款手机_苹果用户不换安卓手机的8点原因,最后一点最关键
  5. 知识小结(浮点数问题)
  6. ACE网络编程思考(二)
  7. Linux 进程管理 (ZZ)
  8. ghs文件可以删除吗_电脑C盘快满了,哪些文件可以直接删除掉?带你了解一下...
  9. 四年背的单词 笔记目录
  10. 与lwj问答之 C++中如何修改const变量
  11. hdu-6287-口算训练
  12. Vue3中watch和watchEffect监听的用法
  13. H5 VIDEO标签视频黑屏的原因及解决方法
  14. 图难于其易;为大于其细。天下难事,必作于易,天下大事,必作于细。
  15. For Your Dream
  16. 计算机基础实验教程第二版苏州大学出版社,计算机基础实验教程
  17. java后端中GET 和 POST 底层原理,深入了解一下
  18. win10企业版永久激活方法
  19. html中只显示农历的完整代码,很全的显示阴历(农历)日期的js代码
  20. “天宫一号”与“神舟八号”交会对接成功

热门文章

  1. 了解使用JavaScript进行面向对象编程的基础(并增强您的编码…
  2. ios开发 mvp实践_实践中开发人员的工作流程-我们如何在30天内建立​​MVP
  3. 机器学习 来源框架_机器学习的秘密来源:策展
  4. 词频统计预处理之综合练习
  5. 关于linux-Centos 7下mysql 5.7.9的rpm包的安装方式
  6. 磁盘IO:缓存IO与直接IO
  7. android view gesturedetector,如何在Android中利用 GestureDetector进行手势检测
  8. html设置按钮样式变为椭圆,css border-radius圆形变为椭圆形,位置:绝对
  9. linux mysql提交_MySQL 事务提交过程
  10. 前端websocket获取数据后需要存本地吗_是什么让我放弃了restful api?了解清楚后我全面拥抱GraphQL...