• 倒置边框半径卡片


    效果展示

    在这里插入图片描述

    CSS 知识点

    • 实现多曲面的思路

    实现整体布局

    <div class="card">
      <div class="img_box">div>
      <div class="content">
        <div class="price">div>
      div>
    div>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    .card {
      position: relative;
      width: 320px;
      height: 400px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
    
    .card .img_box {
      position: relative;
      width: 100%;
      height: 240px;
      border-radius: 15px;
      background: url(./bg.jpg) no-repeat center;
      background-size: cover;
    }
    
    .card .content {
      position: relative;
      width: 100%;
      height: 150px;
      background: #232949;
      border-radius: 15px;
      border-top-left-radius: 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    在这里插入图片描述

    完成下半区的圆角部分

    实现下半区的圆角部分,我们可以在price元素上使用beforeafter伪元素来作为左上角和右下角的圆角部分,然后使用box-shadow属性来实现曲面(曲面颜色与背景颜色保持一致就可以形成曲面效果)。

    在这里插入图片描述

    .card .content .price::before {
      content: "";
      position: absolute;
      width: 25px;
      height: 25px;
      background: #f00;
      border-radius: 50%;
      box-shadow: -10px -10px 0 orange;
    }
    
    .card .content .price::after {
      content: "";
      position: absolute;
      bottom: 0;
      right: -25px;
      width: 25px;
      height: 25px;
      background: #f00;
      border-radius: 50%;
      box-shadow: -10px 10px 0 orange;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    完成上半区的圆角部分

    上半区的圆角部分实现跟下半区的圆角部分实现一致。

    .card .content .price::before {
      content: "";
      position: absolute;
      width: 25px;
      height: 25px;
      background: transparent;
      border-radius: 50%;
      box-shadow: -10px -10px 0 #fff;
    }
    
    .card .content .price::after {
      content: "";
      position: absolute;
      bottom: 0;
      right: -25px;
      width: 25px;
      height: 25px;
      background: transparent;
      border-radius: 50%;
      box-shadow: -10px 10px 0 #232949;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    在这里插入图片描述

    完成剩余的内容样式

    <div class="content">
      <div class="price">
        <a href="#">¥1,000,000a>
      div>
      <ul>
        <li>XXX小区li>
        <li>120平li>
        <li>房屋li>
      ul>
    div>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    .card .content .price a {
      position: relative;
      background: #fff;
      padding: 10px 20px;
      margin: 15px;
      display: block;
      border-radius: 7px;
      color: #333;
      font-weight: 500;
      text-decoration: none;
      text-align: center;
    }
    
    .card .content ul {
      color: #fff;
    }
    
    .card .content ul li {
      font-size: 14px;
      margin-bottom: 10px;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    完整代码下载

    完整代码下载

  • 相关阅读:
    python-opencv图像处理-腐蚀和膨胀
    React ajax
    仿热血江湖游戏类46获取范围玩家发送地面消失物品数据包
    八股文第九天
    【板栗糖GIS】DOS—如何删除特定的文件夹
    闭包和类的分析
    Spring @Transactional 与 JTA @Transactional
    使用Dockerfile生成docker镜像和容器的方法记录
    Redis-数据过期策略
    MobPush数智化推送,精准定位万圣节狂欢年轻一族
  • 原文地址:https://blog.csdn.net/qq_33003143/article/details/133823437