css背景图片模糊

一时失言乱红尘 2023-07-02 11:26 88阅读 0赞

移动端开发中经常会碰到图片模糊的需求,比如,下边是网易云音乐歌单详情的效果:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNzc4MDAx_size_16_color_FFFFFF_t_70

模糊图片时背景图片,我们以小程序为例,实现上边效果:

wxml:

背景图片之所以要写在标签中,可以作为可复用页面,动态切换图片地址。

  1. <view>
  2. <view class="bg-img-box">
  3. <view class="bg-img"
  4. style='background-image: url("http://p1.music.126.net/1gNcBmzdIaQtU00Dvp_TvQ==/109951163912081772.jpg")'
  5. >
  6. </view>
  7. </view>

wxss:

之所以要放大1.5倍,因为模糊之后四周会有白边,很难看!伪元素为透明蒙层。

补充下:在使用filter: blur(xxxpx)时,可把图片变模糊,但是图片四周可会模糊,没有边界,很影响视觉效果,解决方法:

添加一个父级,父级来控制宽高,超出部分隐藏,这样,子级在放大1.5倍时,超出的部分会被隐藏,即可解决!

  1. .bg-img-box{
  2. width: 100%;
  3. height: 400rpx;
  4. overflow: hidden;
  5. }
  6. .bg-img{
  7. width: 100%;
  8. height: 100%;
  9. background-repeat: no-repeat;
  10. background-size: cover;
  11. filter: blur(20px);
  12. transform: scale(1.5);
  13. background-position: 50%;
  14. }
  15. .bg-img::after{
  16. content: " ";
  17. display: block;
  18. width: 100%;
  19. height: 400rpx;
  20. background: rgba(17,17,17,.2);
  21. z-index: 1;
  22. }

效果如下:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNzc4MDAx_size_16_color_FFFFFF_t_70 1

发表评论

表情:
评论列表 (有 0 条评论,88人围观)

还没有评论,来说两句吧...

相关阅读

    相关 CSS背景图片无法显示

    问题描述: 我在编写网页时,设置了CSS样式来指定背景图片,但是在浏览器中预览时,背景图片却无法显示出来。请问我应该如何解决这个问题呢? 解决方案: 1. 检查图片路