CSS - 如何影响所有图像除了一个特定的图像

时间:2012-06-14 14:57:36

标签: css image

我如何设置条件以影响我的网页中的所有图片(通过CSS)除了以查看我已经专门设置条件的特定图片?

例如:

#rightMain img{
    width: 100%;
    height: 100%;
    border: 1px solid #000;
}

这会影响#rightMain ID中的所有图片。

然而,

img{
    height: 100%;
}

这也会影响#rightMain ID中的图像,因为这会影响图像的整体分辨率,使其看起来不自然。

我想知道如何影响除#rightMain中的图像以外的所有图像,因为我已对此图像应用了特定的格式并且不希望更改它;它必须存在于一个状态中,并且仅存在于#rightMain div中的一个状态中。

我知道声明一个div类/ ID来影响子/父/兄弟元素等,但我似乎无法弄清楚这一点。

我的主要目的是将图像保持在#rightMain范围内,与其声明完全一致,但也能够在整个页面/网站的其余部分影响所有图像 - 不包括上述图像。

非常感谢任何帮助。

非常感谢。

3 个答案:

答案 0 :(得分:1)

你设置两个选择器的高度:100% - 我看不出导致你出现问题的区别在哪里?

在澄清你的问题之前,我唯一想到的是:

#rightMain img {
    width: 100%;
    height: auto; /*override height: 100%; */
    border: 1px solid #000;
}


img{
    height: 100%;
}

答案 1 :(得分:1)

优先级更具体的CSS规则,  并且在相同的css规则的情况下,优先级转到最后解析的。

在你的情况下

#rightMain img{
    width: 100%;
    height: 100%;
    border: 1px solid #000;
}

更具体
img{
    height: 100%;
}

所以#rightMain img {...}可以重写img {...}规则中指定的属性。

你也可以使用:not()CSS3选择器但是有风险,因为并非所有浏览器都支持,你可以在这里阅读更多相关信息:http://kilianvalkhof.com/2008/css-xhtml/the-css3-not-selector/

答案 2 :(得分:0)

html:

<img id="myid" src="somepic.png" />

的CSS:

img#myid {
   /*apply some props to it*/
}

请确保在之后放置此img #myid选择器,并说明了适用于所有图像的任何代码。