覆盖css样式?

问题描述 投票:27回答:2

我在Stack Overflow上看了一下,没有找到解决方法,我知道如果样式存在的话,如何覆盖样式,只要改变它的属性就可以了。但是现在我有一个奇怪的样式要覆盖。

下面是我的一个例子

首先我有这个。

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

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

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

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

css styles overriding
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%;
}

18
投票

你只需要重新设置数值 你不想 到其默认值。不需要因为使用 !important.

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

哈廷

我认为你忽略了一个关键的数据,那就是CSS自带的是 默认值. 如果你想覆盖一个值,就把它设回默认值。你可以查到.

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

© www.soinside.com 2019 - 2024. All rights reserved.