css 媒体查询奇怪的行为

标签 css media-queries

我正在使用媒体查询构建响应式网站。

相关代码:

.container {
    width: 70%;
    margin: 0px auto;
    padding: 2%;
    background:#fff;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.5);
    padding-top: 2.5em;
}

当我缩小我的浏览器时,由于填充,页面上的元素变得比容器元素大。当我使用 chrome 的开发人员工具手动将填充设置为 0 时,元素再次完美地适合容器(正如我想要的那样)。

所以我想,我为它做一个媒体查询,并在元素变得比容器大时将填充重置为 0。

像这样:

@media screen and (max-width: 966px) {
    .container {
    width: 70%;
    margin: auto;
    padding: 0;
    background:#fff;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.5);
    padding-top: 2.5em;
    }
}

Chrome 完美地应用了代码(它没有被覆盖),但是元素仍然比容器大。我不知道为什么会这样,这真的很奇怪。

最佳答案

在您的媒体查询中,您将边距和填充设置为“自动”和“0”。我认为您可能想要定义所有四个属性:

@media screen and (max-width: 966px) {
.container {
width: 70%;
margin: 0 auto 0 auto;
padding: 0 0 0 0;
background: #fff;
box-shadow: 0 5px 5px rgba(0, 0, 0, 0.5);
padding-top: 2.5em;
}
}

如果媒体查询不覆盖它们,属性将被继承。

关于css 媒体查询奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24613758/

相关文章:

html - 媒体查询工作正常但突然不再工作

html - CSS 媒体查询不适用于移动设备

html - 在 html/css 中排列文本

html - 如何使用 Jquery 和 JS 将 <code> 和 <pre> 标签中的文本复制到剪贴板?

css - Bootstrap 3 中的网格系统问题

javascript - 将相同的 div 内容与另一个 div 内容切换

html - CSS 位置 : fixed and background-attachment: fixed

html - 创建媒体查询以显示页面缩放 90%

css - 如何定位带触摸屏/无鼠标的设备?

html - 如何针对不同的屏幕尺寸更改 iframe 的高度?