2012-06-14 35 views
0

如何設置條件來影響我的網頁內的所有圖像(通過CSS),除了對於一個特定的圖像,我已經專門設置了條件?CSS - 如何影響所有圖像除了一個特定的圖像

例如:

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

這影響#rightMain ID內的任何圖像。

然而,

img{ 
    height: 100%; 
} 

這也影響到#rightMain ID中是歪斜的圖像的整體分辨率,使其看起來不自然的圖像。

我想知道如何影響除#rightMain之外的所有圖像,因爲我已對此圖像應用了特定的格式並且不希望更改它;它必須存在於一個狀態中,並且僅在一個狀態中,在#rightMain div內。

我知道聲明一個div class/ID來影響child/parent/sibling元素等,但我似乎無法弄清楚這一點。

我的主要目標是將圖像保持在#rightMain的範圍內,正如它聲明的一樣,但是也可以在整個頁面/網站的其餘部分影響所有圖像 - 不包括上述圖像。

任何幫助將不勝感激。

非常感謝。

回答

1

你正在設置身高:100%與兩個選擇器 - 我看不出哪裏是造成你的問題的差異?

是在我腦海中,你澄清你的問題之前的唯一的事情,就是有:

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


img{ 
    height: 100%; 
} 
+0

感謝您的建議 - 這不是我正在尋找的,因爲我正在使用'img {}'使所有圖像適合其容器設置的最大高度,但我正在使用'#rightMain {}'影響單個圖像並在其上放置邊框;這就是爲什麼我使用兩個單獨的聲明。不過,我現在用你的建議作爲指導,解決了這個問題。非常感謝。 – MusTheDataGuy

0

HTML:

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

CSS:

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

確保你把這個IMG#身份識別碼選擇後,你說,適用於所有圖像的任何代碼。

+0

IMG#身份識別碼是多餘的,#myid足夠,因爲必須只有一個具有給定ID的標籤。 它也不必在任何IMG {...}選擇器之後作爲ID選擇器比標記選擇器更具體 – Luca

+0

它不是必須的,不是。但是,爲了清楚起見,這很有用。這是一個個人偏好的問題;) – poepje

1

優先進入到更具體的CSS規則, 並在相同的CSS規則優先級的情況下,去解析最後一個。

你的情況

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

img{ 
    height: 100%; 
} 

更具體,因此#rightMain IMG {...}可以重寫指定到IMG {...}規則屬性。

您還可以使用:不()CSS3選擇器,但風險由所有的瀏覽器,因爲不支持,你可以閱讀更多關於它在這裏:http://kilianvalkhof.com/2008/css-xhtml/the-css3-not-selector/

相關問題