performance - 是否有 "background-size:cover"的替代方案来加快加载速度?

标签 performance background loading css cover

我使用的是 Chrome,下面是我的背景图片的代码。这有效地使我选择的背景图像覆盖了我其他元素后面的整个屏幕,并将其设置为灰度。它运行完美,但我发现 background-size:cover 正在显着降低加载速度和网站的可用性。

是否有替代“background-size:cover”(参见第 1 行)的替代方案,既可以在视觉上呈现相同的结果,又可以提高网站的加载速度?谢谢!

<div style='background: url("LARGE PHOTO URL HERE") no-repeat center center fixed;background-size: cover;' class="grayscale bg"></div>

<div id="background">

    <style>

        #supersized img{

            filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox 10+, Firefox on Android */

            filter: gray; /* IE6-9 */

            -webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */

        }

    </style>

</div>

不确定这些是否相关,因为它们是 ID 而不是类...所以我可能添加了它们但没有使用它们,但我的样式表中也有一些可能相关的样式:

#bg {
    position:fixed; 
    top:-50%; 
    left:-50%; 
    width:200%; 
    height:200%;
    z-index: -1;
    display: none;
}

#bg img {
    position:absolute; 
    top:0; 
    left:0; 
    right:0; 
    bottom:0; 
    margin:auto; 
    min-width:50%;
    min-height:50%;
}

似乎没有#background 样式。

最佳答案

要修复 webkit 上的低性能,你应该使用这个:

-webkit-transform: translate3d(0,0,0);

应用于具有背景覆盖的元素。

关于performance - 是否有 "background-size:cover"的替代方案来加快加载速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17317726/

相关文章:

r - 聚合行及时关闭

c++ - 如何降低 CPU 使用率?

jquery - ERunactions 不工作 - Yii

java - 由于希伯来语用户名,无法使用 bridj 加载外部 dll

ios - 同步Realm Mobile数据库时显示加载

C++ 代码比它的 C 等效代码慢?

.net - 分而治之大对象的 GC 性能

css - 调整浏览器窗口大小会影响 CSS 布局

css - 一个固定背景全屏可调整大小,然后添加第二个不固定/或包装的图像

postgresql - 在 PostgreSQL+PostGIS 上插入数百万行、转换数据和处理它的有效方法