2011-01-04 27 views
7

को छोड़कर सभी divs में शैली लागू करें I एक विशिष्ट को छोड़कर, मेरे सभी divs में शैलियों को लागू करने का प्रयास कर रहा हूं। मैं यह कर रहा हूँ, लेकिन यह काम नहीं करता:एक विशिष्ट

#toolbar div[class~="olControlNavigationHistory"]{ 
    float: left; 
    background-repeat: no-repeat; 
    margin: 2px 12px 2px 12px; 
} 

तो मैं एक वर्ग "olControlNavigationHistory" कहा जाता है के साथ div छोड़कर #toolbar में सभी divs को यह शैली लागू करने के लिए की जरूरत है।

मैं यह कैसे कर सकता हूं? क्या यह संभव है?

अग्रिम धन्यवाद!

उत्तर

11

बस पहले सभी divs के नियम लागू होते हैं:

#toolbar div.olControlNavigationHistor { 
    float: none; 
    background-repeat: repeat; 
    margin: 0; 
} 

बेशक यह मानता है कि संपत्ति के मूल्यों:

#toolbar div { 
    float: left; 
    background-repeat: no-repeat; 
    margin: 2px 12px 2px 12px; 
} 

तो फिर तुम विशेष मामले के लिए मूल्यों को शून्य करने की जरूरत है उस विशिष्ट div के पहले नियम के बिना लागू किया गया था प्रत्येक गुण डिफ़ॉल्ट (जैसे margin: 0 और float: none।)

संपादित करें: हालांकि भविष्य में जब CSS3 को हर किसी का समर्थन किया जाता है, तो आप अपने मूल नियम को #toolbar div:not(.olControlNavigationHistory) के रूप में फिर से लिख सकते हैं और यह सही ढंग से और सुंदर ढंग से काम करेगा।

+0

धन्यवाद मार्कस, अपने सुझाव बहुत उपयोगी था । मैंने अपनी समस्या हल की :) –

+8

@ user552669 रिकॉर्ड के लिए '~ =' का मतलब है, "बराबर नहीं" - [w3schools] (http://www.w3schools.com/css/css_attribute_selectors.asp)। हालांकि भविष्य में जब CSS3 को हर किसी का समर्थन किया जाता है, तो आप अपने मूल नियम को '#toolbar div: not (.olControlNavigationHistory)' के रूप में भी लिख सकते हैं और यह सही ढंग से और सुंदर ढंग से काम करेगा। –

संबंधित मुद्दे