css指定位置画圆,如何用css在矩形的某个位置裁出一个透明的圆?

使用radial-gradient可以实现,我只管实现不管兼容性,兼容方案可以搜这个属性,加上兼容前缀之类的

/* css部分 */

body{

background:#F0AE80

}

.a{

/*用于实现缺口那的阴影,用box-shadow缺口那会有问题*/

filter:drop-shadow(1px 1px 5px #000);

}

.b{

width:200px;

height:100px;

/*通过radial-gradient,用径向渐变创建 "图像"*/

/*定义了形状:圆形,位置:左下角,颜色:透明,半径:10,背景色:f5f5f5,背景位置:左右各一个*/

background:radial-gradient(circle at bottom left,transparent 10px, #f5f5f5 0) left,

radial-gradient(circle at bottom right,transparent 10px, #f5f5f5 0) right;

/*对应上面左右各一个,这里把背景横向平分50%*/

background-size:50% 100%;

/*必须设置否则去掉上面某些样式,会有多个透明扇形出现*/

background-repeat:no-repeat;

border-radius:10px;

}

/*下面部分同理*/

.c{

width:200px;

height:200px;

background:radial-gradient(circle at top left,transparent 10px, #fff 0) left,

radial-gradient(circle at top right,transparent 10px, #fff 0) right;

background-size:50% 100%;

background-repeat:no-repeat;

border-radius:10px;

}

bVbsynE?w=226&h=327

喜欢的话赞我~!

补充:这种实现在半圆那会有锯齿,视觉上不是很好,最好是切一个png,像这样(缺口那是透明的):

bVbsyp1?w=270&h=24

如果是手机,安卓的一些机器,图片上下可能会有不到1px的间隙,card背景不透明可以用负边距解决,透明就无解。

或者可以用canvas实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值