请教复杂的卡片样式css编写?

作者站长头像
站长
· 阅读数 4

需要把以下样式编写出来,请教大佬们css怎么写出(难点)下列样式

预览设计图请教复杂的卡片样式css编写?

难点(我不会的地方)请教复杂的卡片样式css编写?

提前谢谢各位大佬啦,大佬们发大财哈!

回复
1个回答
avatar
test
2024-06-25

可以clip-path的path路径来实现这种形状。path路径和SVG的路径命令一样。

以下是一个供参考的实现。

效果如图:answer image

实现的关键是那个clip-path剪切路径。其中路径命令M是移动,L是划线,A是椭圆曲线,z是闭合。

<!DOCTYPE html>
<html lang="zh">

<head>
  <meta charset="utf-8">
  <style>
    body {
      background-color: rgb(233, 230, 230);
    }

    .container{
      position: relative;
      width: 300px;
      height: 150px;
    }

    .card {
      width: 100%;
      height: 100%;
      border-radius: 10px;
      background-color: white;
      clip-path: path("M 215, 8 A 10 10 90 0 0 205 0 L 0 0 L 0 150 L 300 150 L 300 40 A 10 10 90 0 0 290 30 L 230 30 A 10 10 90 0 1 220 22 z");
      z-index: 1;
      position: relative;
    }

    .tag {
      width: 90px;
      height: 30px;
      border-top-right-radius: 10px;
      background-color: red;
      color: white;
      position: absolute;
      right: 0;
      top: 5px;
      z-index: 0;
      text-align: center;
    }

    .title {
      font-size: 18px;
      font-weight: bold;
      padding: 10px;
    }

    .content {
      padding: 10px;
    }
  </style>
</head>

<body>
  <div class="container">
    <div class="card">
      <div class="title">产品生产填报</div>

      <div class="content">
        内容
      </div>
    </div>
    <div class="tag">未完成</div>
  </div>
  
</body>

</html>
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容