2009-07-17 3 views
23

यहाँ मेरी कोड है: सीएसएस हिस्साजब "ए" टैग अभिभावक टैग के रंग विशेषता का वारिस नहीं करेगा?

.blue { 
    color:#6E99E1; 
    font-size:9px; 
} 

मार्कअप हिस्सा

<span class="blue">::<a href="/equipment_new.php">CLICK HERE</a>:: to view our New Equipment inventory. <br /><br /></span> 

मैं किसी भी तरह कुछ है कि पैरेंट टैग का रंग इनहेरिट करने से रोका "" टैग शुरू हो रहा है (यहां "काल") अभी व।

+0

क्या आपने मौका दिया केवल href विशेषता जोड़ें? – kemiller2002

+7

दूसरों ने पहले से ही आपके प्रश्न का उत्तर दिया है, लेकिन मैंने सोचा कि मैं जोड़ दूंगा कि सीएसएस वर्ग परिभाषाओं का उपयोग इस बात पर आधारित होना चाहिए कि वे किस प्रकार उपयोग किए जाते हैं (उदाहरण के लिए sidelinks, पेजहेडर, उत्पादसूची) और जो कुछ भी वे करते हैं (जैसे नीला, बोल्डटेक्स्ट, रेडबॉर्डर) । –

उत्तर

29

को डिफ़ॉल्ट रूप से एक लंगर टैग रंग जैसी विशेषताओं के वारिस नहीं है, तो एक href विशेषता मौजूद है।

एक पृष्ठ पर इन दोनों के बीच अंतर देखने के लिए (मैं कैसे यह पोस्ट पर प्रदर्शित करने के लिए प्राप्त करने के लिए नहीं है):

<span style=color:green><a href="t">test</a></span> 


<span style=color:green><a>test</a></span> 

नीचे दिए गए लिंक w3 ग के लिए है:

http://www.w3.org/TR/html401/struct/links.html#h-12.2

उपयोगकर्ता एजेंट आम तौर पर, इस तरह से उन्हें उपयोगकर्ताओं (रेखांकित करने के लिए स्पष्ट करने के लिए के रूप में में लिंक प्रस्तुत करना वीडियो रिवर्स आदि)। सटीक प्रतिपादन उपयोगकर्ता एजेंट पर पर निर्भर करता है। में पहले से ही लिंक का दौरा किया गया है या नहीं, इसके अनुसार प्रतिपादन भिन्न हो सकता है।

.....

आमतौर पर, एक की सामग्री नहीं किसी भी विशेष तरीके से प्रदान की गई जब एक केवल एक लंगर को परिभाषित करता है कर रहे हैं।

+0

क्या आपके पास इस बिंदु के लिए कोई संदर्भ है कि "डिफ़ॉल्ट रूप से एक एंकर टैग रंग जैसे गुणों का उत्तराधिकारी नहीं होता है अगर एक href विशेषता मौजूद है। " – omg

+1

इसे आजमाएं; अगर एक एंकर टैग में href विशेषता नहीं है, तो यह एंकर टैग की तरह कार्य नहीं करता है। – kemiller2002

+0

हां, लेकिन मुझे आशा है कि कुछ संदर्भ लिंक यह स्पष्ट करेंगे कि यह मानक है और ऐसा क्यों है। – omg

3

Firebug आपको दिखाएगा कि कौन से स्टाइल नियम लागू किए गए हैं। यह इसके लिए सही है।

- <a href> रंग के वारिस नहीं है ओह, मूर्ख मुझे, दूसरों को यह अधिकार है:

संपादित (एक गैर सीएसएस संभावना है कि आप अपने <body> टैग पर link/alink/vlink गुण है?)। लेकिन Firebug अभी भी इस तरह की समस्या के लिए एक अच्छा उपकरण (यहां तक ​​कि अगर मैं नहीं हूँ। 8-) है

5

मुझे लगता है कि a डिफ़ॉल्ट रूप से रंग का वारिस नहीं करता है। (निश्चित रूप से यह हमेशा मेरी साइटों पर इस तरह से काम किया है)। क्यों

.blue { 
    color:#6E99E1; 
    font-size:9px; 
} 

परिवर्तन नहीं

.blue, .blue a{ 
    color:#6E99E1; 
    font-size:9px; 
} 
0

आपको डिफ़ॉल्ट नीले रंग को ओवरराइड करने के लिए लिंक का रंग स्पष्ट रूप से सेट करने की आवश्यकता है।

41

बस अन्य प्रतिक्रियाओं के लिए एक परिशिष्ट है, अगर आप अपने अभिभावकों से रंग वारिस के अपने <a> टैग चाहते आप उपयोग कर सकते

a {color: inherit; } 
+0

भले ही हम सभी पुराने पुराने ब्राउज़र प्राप्त करने का प्रयास कर रहे हैं, इसके लायक मूल्य: "इंटरनेट एक्सप्लोरर 7 और पुराने संस्करण दिशा और दृश्यता के अलावा किसी भी गुण के लिए मान विरासत का समर्थन नहीं करते हैं।" - [साइटपॉइंट] (http://reference.sitepoint.com/css/inheritvalue) –

+0

उत्कृष्ट समाधान जो मैं खोज रहा था – Paludis

6

मैं एक टिप्पणी के रूप में इस पोस्ट करने के लिए जा रहा था, लेकिन यह था थोड़ी लम्बी हो रही है ... तो यह प्रश्न का उत्तर है और Kevin's answer और इसकी टिप्पणियों का उत्तर है।

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

फ़ायरफ़ॉक्स में, यदि आप "उपयोगकर्ता एजेंट सीएसएस दिखाएं" टॉगल करते हैं तो आप इसे फ़ायरबग में देख सकते हैं (या आप Firefox's internal stylesheets पर सीधे देख सकते हैं। आप वेबकिट के वेब इंस्पेक्टर और ओपेरा की ड्रैगनफ्लाई में ब्राउज़र के डिफ़ॉल्ट भी देख सकते हैं। IE में नहीं लगता कि आप कर सकते हैं।

मैं किसी भी साइट है जो सभी ब्राउज़र की चूक के एक सिंहावलोकन है के बारे में पता नहीं है। सीएसएस 2 के "जानकारीपूर्ण" HTML4 stylesheet रूप में अच्छी तरह YUI reset stylesheet के रूप में एक अच्छा प्रारंभिक बिंदु होगा, लेकिन न उन्हें किसी भी (लिंक) रंगों का उल्लेख है (एचटीएमएल 4 स्टाइलशीट अंडरलाइन का उल्लेख करता है)

यह जानने के लिए कि सामान्य रूप से कौन सी संपत्तियां विरासत में मिलती हैं, आप 0 का उपयोग कर सकते हैं("विरासत?" कॉलम देखें)। साइटपॉइंट ने इसे अपने CSS reference में भी उल्लेख किया है।

तो आप यह सुनिश्चित करना चाहते हैं, तो आपके लिंक ब्राउज़र की डिफ़ॉल्ट स्टाइलशीट से अपने माता पिता से की बजाय उसका रंग इनहेरिट करती है, आप आदर्श कुछ इस तरह करना होगा:

.blue a:link { 
    color: inherit; 
} 

आप अलग अलग छद्म के लिए यह सेट कर सकते हैं -क्लास अलग से (इसलिए :visited, :hover और :active भी), या a टैग के लिए पूरी तरह से।

हालांकि, IE6 and IE7 don't support the inherit keyword, इसलिए यदि आप उन्हें भी समर्थन देना चाहते हैं, तो आपको रंग को स्पष्ट रूप से सेट करना होगा।

1

आप शायद देख रहे हैं: रंग का दौरा किया। इसे आज़माएं:

.blue, .blue:link, .blue:visited { 
    color:#6E99E1; 
    font-size:9px; 
}