27

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

这是我所拥有的一个例子

首先我有这个:

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

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

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

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

4

2 回答 2

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%;
}
于 2013-10-10T18:00:23.057 回答
18

您只需将不想要的值重置为默认值。无需使用!important.

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

帽子

我认为您缺少的关键数据是 CSS 带有默认值。如果要覆盖某个值,请将其设置回默认值,您可以查找.

例如,所有 CSSheightwidth属性默认为auto.

于 2013-10-10T18:02:16.990 回答