我可以定义自定义CSS媒体吗?

时间:2013-05-31 05:34:58

标签: css

我需要使用自己的CSS覆盖应用程序的主要CSS。这样做有好办法吗?一种方法是!important标签,我想避免。

我只是在考虑是否可以创建自定义CSS媒体并为该特定媒体定义我的CSS。这样我可以为我的自定义媒体定义主应用程序CSS。

2 个答案:

答案 0 :(得分:2)

如果您使用相同的选择器,CSS将覆盖自身,因此您不需要!important。

所以:

.my-div .my-span {
    color: green;
}

将被覆盖:

.my-div .my-span {
    color: red;
} 

但不是:

.my-span {
    color: red;
} 

是的,您可以使用媒体查询来定位特定的屏幕尺寸。比如:

@media screen and (device-width: 360px) and (device-height: 640px)

答案 1 :(得分:1)

Cascading 样式表的主要“特征”是它的级联效应。

互联网上许多地方的修改引用:

  

Cascade是特殊部分。样式表旨在级联   通过一系列的风格规则,如瀑布河。该   河里的水击中了瀑布里的所有岩石,但只有   底部的那些影响水流动的确切位置。相同   样式表中的级联是正确的。

因此,只要您指定完全相同的规则但更改这些规则中的某些属性值,并确保它们在原始规则之后加载,它们将覆盖之前指定的属性值那些规则。如果您跳过新规则中的属性值,则先前指定的属性值将对该属性保持有效。

Media queries是为特定类型的媒体定义样式的最佳答案。它允许您专门为特定屏幕尺寸指定规则。

如果通过查询屏幕大小无法正确识别您的特定目标媒体,但需要识别JavaScript。您可以编写一些JavaScript,在加载文档时加载样式表,在这种情况下,您只需要确保它在原始样式表之后加载,然后它将覆盖具有相同特异性的样式。