css实现图片等比例完全展示,背景加图片 200%放大虚化

html

<div class="img-box">
    <div class="img"></div>
    <div class="img-bg"></div>
</div>

 

css

.img-box {
      width: 100%;
      height: 212px;
      position: relative;
      .img {
        width: 100%;
        height: 100%;
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url('test.png');
        position: relative;
        z-index: 100;
       }
     
      .img-bg {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 90;
        width: 100%;
        height: 100%;
        background-image: url('test.png');
        background-size: 200%;
        /* 放大两倍 */
        background-position: center;
        background-repeat: no-repeat;
        overflow: hidden;
      }

      .img-bg::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.6);
        /* 60%不透明度的黑色 */
        z-index: 1;
        /* 确保蒙层在背景之上 */
        backdrop-filter: blur(20px);
        /* 添加20模糊效果 */
      }

 以上代码因为 img-box 带圆角,在高版本 iOS 系统下,由于 img-bg 的绝对定位会导致 .img继承的圆角会失效。

修改后如下:将 img-bg的决定定位改为相对定位,并放在和 img 同样的位置上。

.img-bg {
        position: relative;
        top: -100%;
}

 

posted @ 2024-07-31 17:28  蓓蕾心晴  阅读(39)  评论(0编辑  收藏  举报