CSS 背景人物虚化+字体不虚化

CSS 背景人物虚化+字体不虚化

未虚化

在这里插入图片描述


在这里插入图片描述

很多时候,设计的背景需要虚化,我们使用到CSS3的属性filter: blur(0.5px);
数值越大,模糊程度越大,图二为图一的模糊,图三图四是优化之后的界面

注意:给div增加模糊,会使得该div里面的所有属性都模糊,包括字体,我们需要将其需要模糊的div单独隔离出来,上部内容使用定位覆盖

HTML

<view style="background-image: url('https://markyo.oss-cn-shanghai.aliyuncs.com/mark/4xtR3X5irKTirbNCTHtj.png')" class="back-position"> </view>

CSS

.back-position {
  background-size: 100%;
  background-origin: content-box;
  filter: blur(0.5px);
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 25rpx;
}
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要实现CSS背景图片但内容不,可以考虑使用CSS3的`::before`和`::after`伪元素来实现。具体步骤如下: 首先,创建一个父元素,设置其位置属性为相对定位,并通过`background-image`属性设置背景图片。 然后,为父元素创建一个伪元素`::before`,将其设置为绝对定位,并设置宽度、高度、背景图等样式,以实现背景图片的效果。 接着,再为伪元素`::before`创建一个伪元素`::after`,设置为绝对定位,并通过CSS的`content`属性添加需要展示的内容,可以是文本、图标等。 最后,通过适当的定位、调整样式等,将伪元素`::after`的内容顶在父元素的背景图片上方,从而实现背景图片的效果中内容不。 示例代码如下: ```css .parent { position: relative; background-image: url('your-background-image.jpg'); /* 其他样式 */ } .parent::before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url('your-background-image.jpg'); filter: blur(5px); /* 效果的程度 */ /* 其他样式 */ } .parent::after { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); content: 'Your Content'; /* 其他样式 */ } ``` 通过以上步骤,我们可以实现CSS背景图片内容不的效果。 ### 回答2: 要实现CSS背景图片,但保持背景内容不,可以使用CSS滤镜来实现。下面是一个实现该效果的示例代码: HTML代码: ``` <div class="container"> <div class="background"></div> <div class="content"> <h1>这是一段内容</h1> <p>这是背景内容,希望保持清晰显示。</p> </div> </div> ``` CSS代码: ```css .container { position: relative; } .background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url('背景图片的路径'); background-size: cover; filter: blur(10px); /* 效果,可根据需要调整模糊程度 */ z-index: -1; } .content { position: relative; padding: 20px; color: #fff; z-index: 1; } ``` 上述代码中,通过将背景图片设置为绝对定位的容器,并使用CSS滤镜属性`filter: blur(10px)`来实现背景图片的效果。同时,使用负的`z-index`层叠属性使得背景图位于内容之后。 而内容部分则被设置为相对定位,使得它位于背景图上方。通过控制内容部分的`z-index`层叠属性,使内容显示在背景图片的上层,从而保证内容不受效果的影响。 注意,要将代码中的`background-image: url('背景图片的路径')`替换为你实际使用的背景图片的路径。另外,你也可以根据需要调整滤镜的模糊程度。 ### 回答3: 在CSS中,我们不能直接为背景图片应用效果,因为CSS本身并没有直接支持背景图片的功能。然而,我们可以通过其他方法来实现这个效果。 一种常见的方法是使用CSS的滤镜属性,通过`backdrop-filter`属性来给元素的背景图片应用高斯模糊滤镜。但需要注意的是,`backdrop-filter`属性目前仅在部分浏览器中支持,且仅适用于元素自身,而不会影响其内容。这意味着,我们无法直接通过`backdrop-filter`属性来实现背景图片的效果。 另一个方法是使用CSS中的伪元素技术来模拟背景图片的效果。我们可以通过为元素添加一个包含背景图片的伪元素,并给该伪元素应用高斯模糊效果。同时,我们需要保证伪元素的位置和大小与元素的背景图片一致,以达到背景图片的效果。但这种方法需要考虑浏览器兼容性和性能问题,因为高斯模糊滤镜可能会耗费较多的计算资源。 除了使用CSS,还可以使用JavaScript库来实现背景图片的效果。例如,可以使用像"blurify"这样的库来处理背景图片及其容器。通过使用这些库,我们可以轻松地为背景图片增加效果,而不会影响其内容。这种方法相对简单,并且可在多个浏览器中使用。 综上所述,虽然在CSS中不能直接为背景图片应用效果,但我们可以通过使用滤镜属性、伪元素技术或JavaScript库来实现这个效果。具体使用哪种方法,取决于你的需求和对浏览器兼容性的考虑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值