如何在卡片中正确拟合带有模糊的背景图像?

Posted

技术标签:

【中文标题】如何在卡片中正确拟合带有模糊的背景图像?【英文标题】:How can I fit properly a background image with a blur in a card? 【发布时间】:2021-08-26 11:39:25 【问题描述】:

我是 CSS 的新手。我想做一张里面有一点背景的卡片。

但是,我已经看到我必须创建一个只有图像的新 div,并且它的样式块必须包含 -webkit-filter: blur(8px);

但我对这种方式并不满意,因为背景图像无法正确放入卡片内,并且部分模糊图像溢出卡片的边框。

我不确定我的代码是否有帮助,但这里有一个 sn-p:

.card 
  padding-top: 66.6%;
  border-radius: 0.8rem;


.bg-image 
  background-image: radial-gradient(rgba(230, 230, 230, 0.3), rgba(39, 39, 72, 0.2)), url("images/prototype.png");
  filter: blur(8px);
  -webkit-filter: blur(8px);
  position: absolute;
  margin-top: -72.5%;
  height: 100%;
  width: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;


.toolsButton .card 
  background: transparent;
  cursor: pointer;
  transition: all 250ms ease;
  transform: scale(1);
  border: solid 3px #272748;


.toolsButton:hover .card 
  background: transparent;
  transition: all 250ms ease;
  transform: scale(1.05);
  border: solid 3px #272748;


.toolsButton:active .card 
  background: transparent;
  transition: all 150ms ease;
  transform: scale(1.1);
  border: solid 3px #272748;
<div class="row justify-content-around">
  <div class="col-9 col-xl-5 col-md-5 text-center toolsButton">
    <form action="<?php $_SERVER['PHP_SELF'] ?>" method="POST">
      <div class="card">
        <div class="card-body pt-3 row justify-content-center" style="height:fit-content;">
          <div class="bg-image"></div>
          <div class="col">
            <span><?php echo $content; ?></span>
          </div>
        </div>
        <input type="SUBMIT" name="app" value="<?php echo $content; ?>" style="opacity: 0">
      </div>
    </form>
  </div>

提前致谢!

【问题讨论】:

也许你可以将模糊的图像再缩放一点,并调整元素的位置,这样模糊的边缘就会从容器中流出。然后你可以在.card-body元素上设置一些overflow: hidden; CSS来隐藏溢出的部分? @JWGeertsma 我不知道overflow: hidden; 结果,随着规模的增加,显然很好,对我有很大帮助!谢谢! 【参考方案1】:

您可以缩放模糊的图像,使其变得更大一些。如果你也改变了位置,那么模糊的边缘可能在父元素之外。然后,您可以在 .card-body 元素的 CSS 中添加 overflow: hidden; 以隐藏溢出的部分。

溢出:隐藏将隐藏所有会从容器中取出的部分。这样,模糊的边缘将永远不可见,您的效果应该会起作用。

【讨论】:

以上是关于如何在卡片中正确拟合带有模糊的背景图像?的主要内容,如果未能解决你的问题,请参考以下文章

SpriteKitNode 背景颜色

如何仅在 Vue.js 中模糊 svg 背景?

如何在 Android 中设置背景图像并将该图像适合整个卡片以用于卡片视图?

使用图像作为具有填充高度的居中卡片的背景

只模糊背景中的重复图像?

将 svg 拟合到 angular.js 中的背景图像 div