2010-05-09 3 views
61

मुझे काफी बड़ी परेशानी मिली है, क्योंकि मुझे कुछ इनपुट प्रकारों को स्टाइल करने से एनाथेमैटिस की आवश्यकता है। मेरे पास कुछ ऐसा था:सीएसएस "और" और "या"

.registration_form_right input:not([type="radio") 
{ 
//Nah. 
} 

लेकिन मैं चेकबॉक्स भी स्टाइल नहीं करना चाहता हूं।

मैं कोशिश की है:

.registration_form_right input:not([type="radio" && type="checkbox"]) 
.registration_form_right input:not([type="radio" && "checkbox"]) 
.registration_form_right input:not([type="radio") && .registration_form_right input:not(type="checkbox"]) 

&& का उपयोग कैसे करें? और मुझे जल्द ही || का उपयोग करने की आवश्यकता होगी, और मुझे लगता है कि उपयोग समान होगा।

अद्यतन:
मैं अभी भी सही ढंग से || और && उपयोग करने के लिए कैसे पता नहीं है। मुझे डब्ल्यू 3 डॉक्स में कुछ भी नहीं मिला।

+11

* "anathematise" * ओह। आप लोगों को डेविन प्रतिशोध के साथ चेकबॉक्स को स्टाइल करने का प्रयास करना चाहते हैं? (आप शायद "छूट" या इसी तरह का मतलब है, उदाहरण के लिए, "मुझे स्टाइल नियम से कुछ इनपुट प्रकारों को छूट देने की आवश्यकता है।") –

+2

ठीक है, मुझे अपनी भाषा से phrasal क्रिया का अच्छा अनुवाद नहीं मिला;) – Misiur

+2

मुझे लगता है @ टीजे। पाउडर शायद इसे समझ गया। लेकिन यह * मजाकिया था ... विशेष रूप से उसकी गलत वर्तनी 'दिव्य' = डी –

उत्तर

83

&& stringing-साथ कई चयनकर्ताओं द्वारा काम करता है की तरह इतना:

<div class="class1 class2"></div> 

div.class1.class2 
{ 
    /* foo */ 
} 

एक और उदाहरण:

<input type="radio" class="class1" /> 

input[type="radio"].class1 
{ 
    /* foo */ 
} 

"||" जैसे-तो अल्पविराम से चयनकर्ताओं को अलग करके काम करता है: एक तरफ नोट के रूप में

<div class="class1"></div> 
<div class="class2"></div> 

div.class1, 
div.class2 
{ 
    /* foo */ 
} 

, मैं "नहीं" चयनकर्ता का उपयोग, क्योंकि यह इंटरनेट एक्सप्लोरर द्वारा समर्थित नहीं है के खिलाफ की सिफारिश करेंगे। एक सर्वेक्षण के आधार पर, 60% लोग इंटरनेट एक्सप्लोरर के कुछ संस्करण का उपयोग करते हैं, इसलिए आपकी वेबसाइट बहुत से लोगों के लिए काम नहीं करेगी।

+0

ठीक है, प्रकाश के लिए धन्यवाद। मुझे स्टाइलिंग फॉर्म से नफरत है, लेकिन यह मेरा काम है, और साइट मेरा नहीं है। मैं इनपुट में कक्षाओं को लागू करूंगा। – Misiur

+4

यहां इंटरनेट एक्सप्लोरर का समर्थन करने का एक उपयोगी चार्ट है: http://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx#selectors – geofflee

+4

अब आईई का उपयोग कौन करता है :) – Tarun

0

मुझे लगता है कि आप अधिक चयनकर्ताओं को लिखने और उन्हें अल्पविराम से विभाजित करने से नफरत करते हैं?

.registration_form_right input:not([type="radio"]), 
.registration_form_right input:not([type="checkbox"]) 
{ 
} 

और BTW यह

not([type="radio" && type="checkbox"]) 

अधिक की तरह "इनपुट है जो इन दोनों प्रकार की जरूरत नहीं है" :)

+2

यह काम नहीं करेगा, क्योंकि पहला चयनकर्ता सभी गैर-रेडियो का चयन करेगा, (लेकिन _would_ 'चेकबॉक्स' का चयन करें), और दूसरा रिवर्स करेगा। दोनों के संघ में 'चेकबॉक्स' _and_ 'रेडियो' दोनों होंगे। – Eric

+0

वह पहला उदाहरण उन्हें एक साथ नहीं करेगा, यह उन इनपुट के लिए आग लगाएगा जो पहले चयनकर्ता के लिए रेडियो नहीं हैं, और इनपुट जो चेकबॉक्स नहीं हैं, जिसका अर्थ है सभी इनपुट :-) –

+0

आप गलत हैं। फिर, पहले एक दूसरे पर, और दूसरा, पहले लागू होगा। – Misiur

29

और (&&) मेरे लिए लग रहा है:

.registration_form_right input:not([type="radio"]):not([type="checkbox"]) 

या (||):

.registration_form_right input:not([type="radio"]), 
    .registration_form_right input:not([type="checkbox"]) 
+0

नहीं, असफल भी। यह 1 से 2 और 2 से 1 – Misiur

+1

@Misiur लागू होगा: मुझे समझ में नहीं आता है। – kennytm

+0

@ केनीटीएम: देखो। अल्पविराम का उपयोग इस तरह कुछ करेगा: .registration_form_right इनपुट: नहीं ([प्रकार = "रेडियो"]) चेकबॉक्स सहित सभी चीज़ों पर लागू होगा, और .registration_form_right इनपुट: नहीं ([type = "checkbox"]) सबकुछ पर लागू होगा रेडियो – Misiur

3

:not छद्म-वर्ग IE द्वारा समर्थित नहीं है। वहाँ

.registration_form_right input[type="text"], 
.registration_form_right input[type="password"], 
.registration_form_right input[type="submit"], 
.registration_form_right input[type="button"] { 
    ... 
} 

कुछ दोहराव है, लेकिन यह एक छोटे से कीमत अधिक संगतता के लिए भुगतान करने के लिए है: मैं इस के बजाय की तरह कुछ के लिए मिला था।

+0

आप बिल्कुल सही हैं। होवर, सर्वोत्तम इनपुट में कक्षा जोड़ रहा है। – Misiur

0

बस अगर कोई मेरे जैसा फंस गया हो। पोस्ट के बाद और कुछ हिट और परीक्षण यह मेरे लिए काम किया।

input:not([type="checkbox"])input:not([type="radio"]) 
0

आप किसी भी तरह "या" & और का उपयोग कर के व्यवहार को पुनः कर सकते हैं: नहीं।

SomeElement.SomeClass [data-statement="things are getting more complex"] :not(:not(A):not(B))  { 
    /* things aren't so complex for A or B */ 
} 
+0

क्षमा करें,: नहीं (: नहीं) वैध सीएसएस वाक्यविन्यास नहीं है। हालांकि यह jQuery के साथ काम करता है। –

6

गुण a और एक X तत्व की b चुनने के लिए:

X[a][b] 

गुण a या एक X तत्व की b चुनने के लिए:

X[a],X[b] 

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

  • कोई संबंधित समस्या नहीं^_^