当前位置: 首页 > 知识库问答 >
问题:

如何修复CSS背景滤镜模糊消失时使用过渡变换或持续时间?[铬]

满勇军
2023-03-14

简单代码页:https://codepen.io/ThemanFromeArth1/Pen/WNROYYW

滑动条:https://codepen.io/maxbeat/pen/abnbrex

当您将背景滤镜模糊与父级中的过渡持续时间或转换组合在一起时,就会发生错误。

父分区:

.slider {
  transition-duration: 300ms; /** One of those two is enough **/
  transition: transform 0.3s; /** But with either the bug occurs **/

  transform: translate3d(-100px, 0, 0);
}

子分区:

.slider__item {
  background: rgba(206, 206, 206, 0.15);
  backdrop-filter: blur(89px);
}

当您点击按钮时,CSS模糊会消失一秒钟,然后幻灯片再次模糊。

铬:问题

Firefox:工作(您必须首先在about:config中启用backdrop-filter)

WebKit/Safari:正在工作

共有1个答案

祖麻雀
2023-03-14

不使用translate,您可以使用left定位。

null

let translated = false

function translate3d() {
  const div2 = document.getElementById("slider")
 if (!translated) {
    div2.style.left = '100px';
 } else {
   div2.style.left = '400px';
 }

    translated = !translated;
} 
.slider {
  display: flex;
   align-items: center;
  justify-content: center;
  position: relative;
  left: 400px;
  
  /** Remove duration and blur works **/
  transition-duration: 300ms; 
  /** Also disappears if you transform like this **/
  /**  transition: transform 0.3s **/
  
}

.slider__item {
  height: 100px;
  width: 100px;
  background: rgba(206, 206, 206, 0.15);
  backdrop-filter: blur(89px)!important;
   margin: 6px;
  margin-top: 200px;
}

.container {
  height: 1900px;
  width: 899px;
  background-image:url(https://images.unsplash.com/photo-1616604745302-60a195c7061a?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1401&q=80);
  
}

.button {
  position:absolute;
  top: 350px;
  left: 400px;
}
<div class="container">
  <div class="slider" id="slider">
    <div class="slider__item">1</div>
    <div class="slider__item">2</div>
    <div class="slider__item">3</div>
    <div class="slider__item">4</div>
    <div class="slider__item">5</div>
  </div>
  
</div> 
<div class="button">
  
   <button type="button"  onclick="translate3d()">Click to transform translate3d</button>
</div>
<div>
    
 类似资料:
  • 问题内容: 我希望网站上的弹出窗口具有 Vista/7航空玻璃风格的效果,并且它必须是动态的。我很好这不是一个跨浏览器的效果,只要该网站仍然 _适用_于所有现代浏览器。 我的第一次尝试是使用类似 但是,正如我应该预期的那样, 这导致 对话框的 内容 模糊并且背景保持清晰。 有什么方法可以使用CSS来模糊半透明元素的背景而不是其内容? 问题答案: 由于除FF以外,其他浏览器似乎未广泛支持该属性,因此

  • 问题内容: 1有1’m使用作为一个搜索页面的背景图像,并使用CSS来设置它,因为1’m内工作1’mJPEG文件Backbone.js的背景: 1要在CSS 3模糊滤镜应用 只 为背景,但1’m不知道如何风格只是一个元素。如果1个试; 正下方,在我的CSS,它的款式整个页面,而不仅仅是背景。有没有办法只选择图像和过滤器适用于?另外,有一种方法只是把模糊关闭页面上的所有其他元素? 问题答案: 你将不得

  • 嗨,我正试图模糊背景图像,但我认为这样做是不够的。对它的任何帮助都会让我为之振奋。谢谢 这是我的CSS 我试图应用这个,但它模糊了我所有的网页安装的背景图像只。 非常感谢。

  • 我想用css3过滤器模糊这个html代码的背景图像,请提供解释。 但其中的内容不会变得模糊。

  • 我已经将背景色设置为线性渐变,我希望背景色是模糊的。我尝试了一些代码,但无法使其工作。这是我的密码: 我正在学习CSS,请帮助我!提前谢谢你!

  • 问题内容: 我正在尝试在CSS上的缩略图上进行悬停过渡,以便在悬停时淡入背景渐变。过渡不起作用,但是如果我简单地将其更改为一个值,则可以正常工作。不支持渐变吗?我也尝试过使用图像,它也不会转换图像。 我知道这是有可能的,就像在另一篇文章中有人做的那样,但我不知道该怎么做。任何帮助>以下是一些可使用的CSS: 问题答案: 渐变尚不支持过渡(尽管当前规范说,它们应支持渐变,例如通过插值进行渐变过渡)。