繁体   English   中英

Chrome:显示固定的背景,因为没有固定

[英]Chrome: Fixed background is displayed as it wasn't fixed

我不明白为什么我的固定背景开始变得有些固定。

这是非常特殊的情况,我知道如何解决。

您可以删除:

.row2 position:relative

要么

row1 div -webkit-backface-visibility: hidden;

但是我不明白为什么会发生此问题, position:relative-webkit-backface-visibility:hidden影响此行为。

我认为这个问题可以引起人们的兴趣。

这是示例: JSfiddle

  <!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" >
    <title>Theme Framework</title>
    <style>
        .row1 {
            height:45px;
        }
        .row1 div {
            height:47px;
            -webkit-backface-visibility: hidden;
        }
        .row2 {
            position: relative;
            height:500px;
            background-image:url(http://www.hdwallpapers.in/download/uphill_road-1024x768.jpg);
            background-position: 50% 23px;
            background-attachment: fixed;
            background-size:cover;
        }
    </style>
</head>
<body>

    <div class="row1">
        <div>
        </div>
    </div>
    <div class="row2"></div>

</body>
</html>  

在这种情况下, backface-visibility似乎干扰了background-attachment 这里的关键是具有backface-visibility的元素比其包含的元素高。 这意味着它在row1下面延伸。 添加overflow:hiddenrow1修复该问题。

工作小提琴

CSS:

  .row1 {
    height:45px;
    overflow: hidden;
  }

据这里实际发生的情况。 我的猜测(仍在寻找完整的答案)是因为具有backface-visibility的元素重叠并覆盖了背景固定样式。 渲染引擎可能出错。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM