2011-08-28 14 views
7

मुझे अपनी साइट पर कुछ कोड, http://ethoma.com/wp/ पर परेशानी हो रही है। सर्च बार में, बाईं ओर, मैं आमतौर पर गहरा भूरा "खोज में प्रवेश करता हूं" खोज फ़ील्ड (इसके भाई) पर हल्के भूरे रंग को बदलने के लिए: फोकस ट्रिगर होता है। , # से है खोज क्षेत्रमैं सीएसएस चयनकर्ताओं के साथ भाई बहनों के गुणों को कैसे संशोधित करूं जैसे: फोकस?

#s 
{ 
    min-width:98%; 
    background-color:#2a2a2a; 
    color:#d3d3d3; 
    border:2px solid #000000; 
    font-size:.85 em; 
    height:1.9em; 
    display:inline !important; 
    border-radius:5px 5px 5px 5px; 
} 

#s:focus 
{ 
    border:2px solid #2a2a2a; 
} 

#searchsub 
{ 
    color:#2a2a2a; 
    text-align:right; 
    font-size:.65em; 
    font-weight:lighter; 
} 

#s:focus #searchsub 
{ 
    color:#cccccc; 
} 

ठीक है और #searchsub div कि मैं #cccccc (हल्के भूरे रंग) चालू करना चाहते है: यहाँ कोड मैं वर्तमान में है। घुंघराले ब्रेसिज़ का आखिरी सेट ऐसा लगता है जहां मुझे समस्या है (ब्रेसिज़ स्वयं नहीं, बल्कि इसके ऊपर चयनकर्ता)। जैसा कि मैंने कहा था # एस #searchsub का एक भाई है और इसके विपरीत। किसी भी उत्तर के लिए धन्यवाद!

+0

आप ऐसा करने के jQuery का उपयोग कर के बारे में सोचा है:

आप आसन्न भाई चयनकर्ता + बजाय का उपयोग करना चाहते, #searchsub के बाद से भाई कि #s के बाद आती है? – stefmikhail

+1

प्रासंगिक मार्कअप की खोज के लिए हमें एक लिंक का पालन करने का प्रयास सहेजने के लिए आपको अपनी थीम से प्रासंगिक मार्कअप पेस्ट करना चाहिए। – BoltClock

उत्तर

13

स्टीफिखेल की तरह, आपके चयनकर्ता का स्थान #s के अंदर है। जहां तक ​​एचटीएमएल का सवाल है, हालांकि, यह स्पष्ट रूप से गलत है क्योंकि input फ़ील्ड खाली तत्व हैं और आपके अंदर अन्य तत्व नहीं हो सकते हैं।

#s:focus + #searchsub 
{ 
    color:#cccccc; 
} 
+0

का उल्लेख किया जाना चाहिए कि आसन्न चयनकर्ता CSS3 का हिस्सा है, और जितना मैं चाहता हूं कि यह मामला नहीं था, CSS3 * अभी तक पूरी तरह से समर्थित नहीं है। यदि आप इस कार्यक्षमता के लिए इंटरनेट एक्सप्लोरर 7 और नीचे के उपयोगकर्ताओं को चाहते हैं, तो यह छोटी हो सकती है (आईई 7 के मामले में) या अस्तित्वहीन नहीं है (आईई 6 और नीचे के मामले में)। काश हम ऐसे ब्राउज़र के लिए कोड नहीं करना चाहते थे, लेकिन मेरा दर्शन तब होता है जब यह एक होवर राज्य से संबंधित होता है, कुछ ऐसा उपयोग करें जो सभी के लिए काम करेगा, न केवल अधिकांश के लिए। लेकिन हे, यह तुम्हारा फोन है। मुझे लगता है कि CSS3 चयनकर्ता शांत हैं! – stefmikhail

+0

@stefmikhail: आपने CSS3 सामान्य भाई चयनकर्ता '~' के लिए सीएसएस 2 आसन्न भाई चयनकर्ता '+' को गलत समझा। आईई 7 + दोनों में बहुत अच्छी तरह से समर्थित हैं। – BoltClock

+0

ओउप्स, आप पूरी तरह से सही हैं। सुधारों के लिए धन्यवाद। – stefmikhail

0

अपने कोड के साथ समस्या यह है कि #s:focus #searchsub में #s:focus के बाद #searchsub रखकर, आप आईडी #s अंदर आईडी #searchsubपर कार्रवाई करने के लिए सीएसएस कह रहे है।

मैं जामवाफल्स से सहमत हूं कि आप जावास्क्रिप्ट के साथ ऐसा कर सकते हैं। मैं इसे jQuery के साथ करूँगा, और यदि आप चाहें, तो मैं कैसे पोस्ट कर सकता हूं।

+0

-1। अकेले सीएसएस के साथ काम करने योग्य। जावास्क्रिप्ट के लिए कोई ज़रूरत नहीं है। –

+0

@ रिकुडो सेनिन मैंने कभी नहीं कहा कि यह सीएसएस के साथ काम करने योग्य नहीं था, मैंने केवल इतना कहा कि मैं इसके लिए जावास्क्रिप्ट का उपयोग करना चुनूंगा, क्योंकि इसके लिए सीएसएस का उपयोग करना पुराने आईई ब्राउज़र में काम नहीं करेगा। – stefmikhail

+1

जब अकेले सीएसएस के साथ कुछ करने योग्य होता है। ऐसा करने के लिए आमतौर पर सबसे अच्छा है। यदि मैं पूरी तरह से जरूरी हूं तो शीर्ष पर जाना होगा, यदि मैं संभव हो तो जांचने के लिए Modernizr का उपयोग करूंगा और जावास्क्रिप्ट का उपयोग करूँगा। –

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

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