एक वर्ग को छोड़कर सभी तत्वों के लिए एक css नियम कैसे बनाया जाए?


95

मैंने अपने प्रोजेक्ट के लिए CSS स्टाइलशीट बनाई है। क्या कोई ऐसा तरीका है जिससे मैं एक सीएसएस नियम बना सकता हूं जो सभी टेबल तत्वों पर लागू होता है EXCEPT टेबल तत्व "क्लास" डोजॉक्सगैस से संबंधित हैं? कुछ इस तरह:

.not(dojoxGrid) table{
    width:100%;
    border-top:1px solid #dddddd;
    border-left:1px solid #dddddd;
    border-right:1px solid #dddddd;
    margin:1em auto;
    border-collapse:collapse;
}

क्या आपको क्रॉस-ब्राउज़र काम करने के लिए इसकी आवश्यकता है? अधिक लचीले सीएसएस चयनकर्ताओं के लिए ब्राउज़रों का समर्थन अलग-अलग होता है। यह कुछ ऐसा हो सकता है जिसे आप स्क्रिप्ट में कर सकते हैं यदि यह बिल्कुल आवश्यक है, और क्रॉस-ब्राउज़र की आवश्यकता है।
किब्बू

हां, मुझे इसे प्रमुख ब्राउज़रों पर काम करने की आवश्यकता है। क्या कोई और तरीका है जो मैं स्क्रिप्टिंग के बजाय इसे हासिल कर सकता हूं? चीयर्स
निक

कोरी का दृष्टिकोण सभी तरीकों पर काम करेगा, जो शायद पहले यानी 4 पर वापस आ जाएगा।
किबिबू

जवाबों:


183

निषेध छद्म वर्ग होने के लिए आप के लिए क्या देख रहे है।

table:not(.dojoxGrid) {color:red;}

हालांकि यह though IE8 द्वारा समर्थित नहीं है


2
यह एक अच्छा css3 चयनकर्ता है जिसके बारे में पता होना चाहिए - IE9 में उम्मीद के मुताबिक।
कोरी

4
जब तक मेरी टिप्पणी सीधे सवाल पर लागू नहीं होती है, यह ध्यान देने योग्य है कि इसे :notjquery चयनकर्ता के रूप में उपयोग किया जा सकता है। यानी $("[data-name='bob']:not(a)"), जो अच्छा है।
जिंजरब्रेडबॉय

3
यह स्वीकृत उत्तर होना चाहिए, क्योंकि यह वांछित प्रभाव का उत्तर है। वर्तमान स्वीकृत उत्तर वांछित प्रभाव को प्राप्त करने का एक वैकल्पिक तरीका है, लेकिन वास्तव में प्रश्न का उत्तर नहीं देता है। जो लोग इस प्रश्न को ढूंढते हैं, वे बहुत ही सटीक रूप से उस उत्तर की तलाश कर रहे हैं जो वास्तव में पूछा जाता है, ज्यादातर मामलों में एक वैकल्पिक तरीका लागू नहीं होता है।
पेड्रो मोरिरा

CingIE8 में यह पूरी तरह से नजरअंदाज कर दिया जाएगा ताकि कोई टेबल न मिल सके color:red। यह कुछ के लिए अच्छा हो सकता है, लेकिन मेरे लिए मैं उम्मीद कर रहा था कि यह इसे पढ़ेगा table {color:red;}और बस इसे अनदेखा करेगा :not()
DutGRIFF

7
@FranciscoCorralesMorales :not(.classOne):not(.classTwo)cf stackoverflow.com/a/5684168/248058
Knu

12

सभी तालिकाओं के लिए एक css नियम सेट नहीं करेगा, और फिर बाद में उन तालिकाओं के लिए जहां वर्ग = "dojoxGrid" काम करता है? या क्या मैं कुछ न कुछ भूल रहा हूं?


3
हाँ, यह बिल्कुल काम करेगा, लेकिन आप उन सभी गुणों को एक मूल्य पर सेट करेंगे। यदि आप उन्हें "परेशान" छोड़ना चाहते थे तो नहीं। संभवतः निक डोजोक्सग्रिड के लिए मूल्यों को स्पष्ट नहीं करने की कोशिश कर रहे हैं क्योंकि वे कहीं और सेट हैं।
किबिबू

1
मुझे लगता है कि यह होगा। हालांकि मैं सभी तालिकाओं के लिए गुणों का एक समूह स्थापित कर रहा हूं, मैं फिर से dojoxGrid के लिए आवश्यक डिफ़ॉल्ट मानों के साथ उन्हें अधिलेखित कर सकता हूं। हालाँकि मुझे यकीन नहीं है कि ये डिफ़ॉल्ट मान क्या हैं क्योंकि वे डोजो लाइब्रेरी द्वारा उत्पन्न किए गए हैं। इसलिए मैं इसे हासिल करने के लिए दूसरा रास्ता तलाश रहा था।
निक

4

सबसे सुरक्षित शर्त उन तालिकाओं पर एक क्लास बनाना और उसका उपयोग करना है। वर्तमान में सभी प्रमुख ब्राउज़रों में काम करने के लिए कुछ इस तरह की संभावना नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.