如何将blob背景固定在橙子图片正后方,窗口缩放时不发生偏移
实现方案
核心逻辑是让blob元素相对于承载橙子图片的父容器居中,且尺寸和父容器宽度绑定,窗口缩放时二者同步变化,就不会出现偏移。
具体改动点
- 保留父容器的
position: relative属性,作为blob绝对定位的参照基准 - 调整blob图片的样式,实现居中、置于底层、同步缩放:
- 添加
z-index: -1,让blob显示在橙子图片下方 - 用
top: 50%; left: 50%; transform: translate(-50%, -50%)实现相对于父容器的完全居中,位置不会随窗口缩放偏移 - 给blob设置百分比宽度(可根据需求调整数值,默认设置110%比橙子稍大即可),和橙子的100%宽度同步缩放
- 添加
修改后完整代码
<!DOCTYPE html> <html lang="zh-CN"> <head> <title>Blob背景固定效果</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script> </head> <body> <div class="jumbotron text-center"> <h1>Hello Everyone</h1> </div> <div class="container"> <div class="row"> <div class="col-sm-6 col-6"> <h3>第一列</h3> <p>我想要把blob图案放在橙子图片的正后方</p> <p>窗口大小调整时二者相对位置保持不变,不会出现偏移</p> </div> <div class="col-sm-6 col-6" style="position:relative;"> <img src="http://riviste.newbusinessmedia.it/wp-content/uploads/sites/27/2013/12/Fotolia_11313277_M.jpg" style="width:100%;" alt="橙子"> <img src="https://d3b1ak9ylguumf.cloudfront.net/stencil/public/static/images/wave-blob.svg?h=b9d69d25&v=2020-08-19.00" style="position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:110%;z-index:-1;" alt="blob背景"> </div> </div> </div> </body> </html>
内容的提问来源于stack exchange,提问作者Simonsoft177
相关产品推荐
相关产品推荐

