css3 属性笔记(一)

conic-gradient()
  • 圆锥渐变,参数中指定渐变的颜色
  • 用法: background: conic-gradient(#9ED110, #50B517, #179067, #476EAF, #FF3BA7, #FF5800, #FF8100, #FEAC00, #FFCC00, #EDE604);
  • 效果(这里通过border-radius将其变为了圆形)在这里插入图片描述
radial-gradient
  • 径向渐变,参数中统用指定渐变的颜色
  • 用法: background: radial-gradient(#9ED110, #50B517, #179067, #476EAF, #FF3BA7, #FF5800, #FF8100, #FEAC00, #FFCC00, #EDE604);
  • 效果:在这里插入图片描述
mask
  • 遮罩,chrome需要添加 -webkit- 前缀
  • 用法: -webkit-mask: radial-gradient(transparent 150px,#000 150px); 使用了径向渐变并将填充颜色设为透明,半径为150px
  • 效果(刚才的圆锥渐变被切割为圆环): 在这里插入图片描述
clip-path
  • 创建一个只有元素的部分区域可以显示的剪切区域,区域内的部分显示,区域外的隐藏.剪切区域是被引用的url路径或外部svg的路径.它代替了弃用的clip属性
  • 还是上面的圆锥渐变的图形
    • 如果设置了 clip-path:circle(20%),则只显示中心20%圆区域的部分(也可以设置其他形状,比如inset()矩形;ellipse()椭圆;具体用法参考MDN API)
    • 效果在这里插入图片描述
    • 如果设置了 clip-path: polygon(200px 200px, 200px 0, 0 0), 其中 ploygon 表示多边形,后面的参数每一个逗号都是一个点的坐标,这里的意思就是切割 点 (200px,200px),点(200px 0),点(0,0) 围成的三角形.注意:这里的坐标都是基于文档
    • 效果在这里插入图片描述
小demo,彩虹环倒计时
div {
     width: 400px;
     height: 400px;
     background: conic-gradient(#9ED110, #50B517, #179067, #476EAF, #FF3BA7, #FF5800, #FF8100, #FEAC00, #FFCC00, #EDE604);
     border-radius: 50%;
     -webkit-mask: radial-gradient(transparent 150px,#000 150px);
     animation: auto-play 10s forwards;
}   
@keyframes auto-play {
     10% {
          clip-path: polygon(200px 0, 200px 200px, 54px 0, 0 0, 0 400px, 400px 400px, 400px 0)
      }
     20% {
           clip-path: polygon(200px 0, 200px 200px, -416px 0,-416px 400px, 0 400px, 400px 400px,400px 0)
      }
     30% {
  		   clip-path: polygon(200px 0, 200px 200px, 0 264px,0 400px,200px 400px, 400px 400px,400px 0)
     }
     40% {
           clip-path: polygon(200px 0, 200px 200px, 0 476px, 200px 476px,400px 476px, 400px 400px,400px 0)
     }
     50% {
          clip-path: polygon(200px 0,200px 200px, 200px 400px, 400px 400px, 400px 200px, 400px 100px, 400px 0)
     }
     60% {
          clip-path: polygon(200px 0, 200px 200px, 346px 400px, 350px 400px, 400px 400px, 400px 200px, 400px 0)
     }
     70% {
         clip-path: polygon(200px 0, 200px 200px, 816px 400px,816px 300px, 816px 100px, 816px 0px, 400px 0)
     }
     80% {
         clip-path: polygon(200px 0, 200px 200px, 400px 136px, 400px 100px, 400px 50px, 400px 20px, 400px 0)
     }
     90% {
         clip-path: polygon(200px 0, 200px 200px, 400px -76px, 300px -76px, 200px -76px, 100px -76px, 0 -76px)
    }
     100% {
         clip-path: polygon(0 0)
     }
 }

这个代码还有不完善的地方,开始的时候会没有过渡效果,个人目前没有找到解决方案,希望知道问题所在的大神能指点一二,感激不尽

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值