CSS 属性重复问题

标签 css

美好的一天,

我有一个包含以下条目的外部样式表:

#data-container {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    padding-bottom: 26px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

它在 IE 和 Firefox 中运行良好,但在 Chrome 中运行不佳。 (我不必担心 Safari)。

我发现我可以使用:@media only screen 来修复它,因此它可以在 Chrome(和 Safari)上运行,所以我有另一个条目,如:

@media only screen and (-webkit-min-device-pixel-ratio: 0) {
    #data-container {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        padding-bottom: 14px;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;        
    }
}

现在它可以在 Chrome 上运行,到目前为止一切顺利。我担心的是,我唯一感兴趣的属性是 padding-bottom 并且我必须在 @media only 屏幕下使用 #data-container 的所有其他属性感觉不对,它基本上具有相同的值和以前一样。

有什么方法可以消除重复的条目(即位置、顶部、底部等)除了 @media only 屏幕下的填充底部?

TIA,

科森

最佳答案

是的,CSS 是级联的(因此是 C)。只需将您希望覆盖的规则放在媒体查询中:

#data-container {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    padding-bottom: 26px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media only screen and (-webkit-min-device-pixel-ratio: 0) {
    #data-container {
        padding-bottom: 14px;

    }
}

jsFiddle Demo

如果您使用开发人员工具检查元素,您会看到 #data-container 继承了 CSS 规则的样式,但是 padding-bottom 被覆盖了因为应用了媒体查询。以下是 Chrome 生成的样式,例如:

@media only screen and (-webkit-min-device-pixel-ratio: 0)
#data-container {
    padding-bottom: 14px;
}
#data-container {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    padding-bottom: 26px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

关于CSS 属性重复问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21030284/

相关文章:

css - 页面上我找不到的不可见元素

CSS 和跨浏览器圆 Angular

javascript - 这段代码用 javascript 移动 css 元素有什么问题?

html - 如何使用 CSS 和 jeet 使父级全屏 div 与绝对定位的子级一起成长?

CSS :hover not working on element with dynamically added class

html - iframe 的透明度

html - Chrome 中出现奇怪的黑 block

html - 页脚没有像它应该的那样停靠在底部

css - 响应式棋盘问题

html - CSS 未对齐元素无法将其放置到位