纯css实现卡券式半圆及阴影(整理)

<!-- 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;
}

可自行添加兼容性

上一篇:HTML基础操作(七)-控制元素背景:颜色赋值、设置背景样式(背景图片大小、位置、重复方式、背景颜色)


下一篇:CSS元素显示背景 - 723