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 背景图效果。