压倒css风格?

时间:2013-10-10 17:58:14

标签: css css3 styles override clear

我看看Stack Overflow,并没有找到解决方案,我知道如果样式存在,如何覆盖样式,只需更改其属性。但现在我有一种奇怪的风格来覆盖

以下是我所拥有的一个例子

首先我有这个:

.slikezamenjanje img{
    max-width: 100%;
    max-height:150px;
    padding-right:7px;
}

现在我需要用这一个覆盖那个样式:

#zoomTarget .slikezamenjanje img {
    max-width: 100%;
}

问题是第一个样式追加第二个,但我不想要这个,在第二个样式中我需要的只是一行,而不是从第一个样式追加?

2 个答案:

答案 0 :(得分:38)

您可以在元素中添加另一个类,而不是覆盖,然后您可以使用额外的功能。 例如:

HTML

<div class="style1 style2"></div>

CSS

//only style for the first stylesheet
.style1 {
   width: 100%;      
}
//only style for second stylesheet
.style2 {
   width: 50%;     
}
//override all
.style1.style2 { 
   width: 70%;
}

答案 1 :(得分:18)

您只需将您不希望的值重置为默认值。使用!important无需陷入混乱。

#zoomTarget .slikezamenjanje img {
    max-height: auto;
    padding-right: 0px;
}

制帽

我认为您缺少的关键数据是CSS带有默认值。如果要覆盖某个值,请将其重置为默认值which you can look up

例如,所有CSS heightwidth属性都默认为auto