压倒css风格?

Mio*_*vic 27 css styles overriding clear css3

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

这是我所拥有的一个例子

首先我有这个:

.slikezamenjanje img{
    max-width: 100%;
    max-height:150px;
    padding-right:7px;
}
Run Code Online (Sandbox Code Playgroud)

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

#zoomTarget .slikezamenjanje img {
    max-width: 100%;
}
Run Code Online (Sandbox Code Playgroud)

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

Dvi*_*vir 38

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

HTML

<div class="style1 style2"></div>
Run Code Online (Sandbox Code Playgroud)

CSS

//only style for the first stylesheet
.style1 {
   width: 100%;      
}
//only style for second stylesheet
.style2 {
   width: 50%;     
}
//override all
.style1.style2 { 
   width: 70%;
}
Run Code Online (Sandbox Code Playgroud)


dth*_*ree 18

您只需将不想要的值重置为默认值.无需使用即可陷入混乱!important.

#zoomTarget .slikezamenjanje img {
    max-height: auto;
    padding-right: 0px;
}
Run Code Online (Sandbox Code Playgroud)

制帽

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

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

  • 你不应该需要`!important`,因为`#zoomTarget .slikezamenjanje img`比`.slikezamenjanje img更具体. (2认同)