首页 > 文章列表 > 如何在 CSS 媒体查询中去除背景图效果?

如何在 CSS 媒体查询中去除背景图效果?

259 2025-01-04

如何在 CSS 媒体查询中去除背景图效果?

CSS 媒体查询去除背景图效果

网页设计中,经常会遇到需要根据不同设备屏幕尺寸来修改样式的需求。其中,移除背景图效果是一个常见问题。

以下 HTML 和 CSS 代码展示了如何在 768px 以下屏幕去除背景图效果:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta http-equiv="x-ua-compatible" content="ie=edge">
        <title></title>
    </head>
    <body>
        <style type="text/css">
            #test {
                background-image: url(无标题.png);
                background-repeat: no-repeat;
                width: 100%;
                height: 500px;
            }

            @media (max-width: 768px) {
                #test {
                    background-image: none;
                }
            }
        </style>
        <div id="test">
            <div style="width: 100px;height: 700px; background-color: red;">
            </div>
        </div>
    </body>
</html>

原本,这段 CSS 使用媒体查询为屏幕宽度小于或等于 768px 时设置 #test 元素的背景图为空 (background-image: none),以去除背景图效果。然而,这段代码并未生效,因为默认情况下,一般 CSS 样式优先级比媒体查询样式更高。

解决办法是将媒体查询样式放在常规 CSS 样式后面,以提高其优先级。修改后的代码如下:

#test {
    background-image: url(无标题.png);
    background-repeat: no-repeat;
    width: 100%;
    height: 500px;
}

@media (max-width: 768px) {
    #test {
        background-image: none;
    }
}

通过这种方式,就可以在屏幕宽度小于或等于 768px 时有效去除 #test 背景图效果。

来源:1729721509