<!-- html部分 --> <div class="a"> <!-- a这个大卡片里边分上下两个卡片,对应上边灰色和下边白色部分 --> <div class="b"></div> <div class="c"></div> </div>
/* 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; }
可自行添加兼容性