2011-10-17 17 views
10

W3.org CSS specification राज्यों निम्नलिखित (जोर मेरा):सीएसएस: लिंक और: छद्म-कक्षाओं का दौरा किया - क्या वेब ब्राउज़र spec का पालन कर रहे हैं?

  • : लिंक छद्म वर्ग लिंक है कि अभी तक का दौरा किया नहीं किया गया है के लिए लागू होता है।
  • : उपयोगकर्ता द्वारा लिंक का दौरा करने के बाद छद्म-कक्षा का दौरा किया जाता है।

दो राज्य परस्पर अनन्य हैं।

इसका मतलब है कि :link चयनकर्ता पर लागू कोई भी शैली केवल अनदेखी लिंक पर लागू की जानी चाहिए। हालांकि, एकमात्र संपत्ति जिसके लिए यह सच है color प्रतीत होता है। फ़ॉन्ट आकार, पृष्ठभूमि और :link पर चयनकर्ता चयनकर्ता सभी लिंक को लक्षित करता है।

नोट:

वहाँ एक नोट आगे पेज जो यह बताता है नीचे है। स्टाइल शीट लेखकों के लिए दुर्व्यवहार करना संभव है: लिंक और: यह देखने के लिए छद्म-वर्गों का दौरा किया गया है कि उपयोगकर्ता ने किस उपयोगकर्ता को सहमति के बिना देखा है।

UAs इसलिए सभी लिंक को अनजान लिंक के रूप में मान सकते हैं, या उपयोगकर्ता की गोपनीयता को संरक्षित करने के लिए अन्य उपायों को लागू कर सकते हैं जबकि अलग-अलग विज़िट किए गए और अनदेखी लिंक प्रस्तुत करते हैं।

हालांकि, जहां तक ​​मुझे पता है कि यह केवल जावास्क्रिप्ट द्वारा लौटाई गई शैलियों पर लागू होता है, न कि शैलियों के प्रदर्शन के लिए।

Here's a JS fiddle समस्या दिखा रहा है। क्या यहां भाषण से विचलित ब्राउज़र हैं, या क्या मुझे कुछ याद आ रही है?

+0

+1 जो शायद पहले दिन पूछे जाने वाले प्रश्न के लिए है, मैंने पूरे दिन देखा है। –

उत्तर

2

लाइन,

"यूएएस इसलिए विज़िट नहीं किए गए लिंक के रूप में सभी लिंक का इलाज हो सकता है, या जब दौरा किया प्रतिपादन और विज़िट नहीं किए गए लिंक को अलग ढंग से उपयोगकर्ता की गोपनीयता बनाए रखने के लिए अन्य उपायों को लागू।"

जावास्क्रिप्ट द्वारा लौटाए गए शैलियों के लिए लागू नहीं है केवल — यह वास्तव में है के रूप में यह लग रहा है। इसका अर्थ यह है कि ब्राउज़र केवल :visited पर कुछ गुणों को अनदेखा कर सकते हैं (जो इस मामले में हो रहा है)। चूंकि font-size युक्त तत्व के आकार को बढ़ाएगा, जिससे :visited लिंक के लिए संपत्ति अलग हो सकती है, ब्राउज़र द्वारा लागू अन्य सुरक्षा उपायों को कमजोर कर देगा।

एक ब्राउज़र :visited शैलियों के बिना आयामों को फिर से गणना करने का विकल्प चुन सकता है, यदि वह चाहता था। स्वाभाविक रूप से, यह कुछ गुणों को अस्वीकार करने से अधिक काम और कम प्रदर्शनकारी है।यह स्पष्ट है कि निर्णय इस तथ्य के आधार पर किया गया है कि विभिन्न फ़ॉन्ट आकार, पृष्ठभूमि इत्यादि का उपयोग करने के लिए किसी भी वास्तविक आवश्यकता को देखने के लिए अलग-अलग और अनजान लिंक के बीच अंतर करने की आवश्यकता नहीं है और, आमतौर पर, अधिकांश डेवलपर रंग को थोड़ा संशोधित करने के लिए चिपके रहेंगे।

तो नहीं, वे spec से विचलित नहीं हो रहे हैं, वे एक अनुमत अपवाद का लाभ उठा रहे हैं।

+1

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

+2

@DisgruntledGoat: http://dbaron.org/mozilla/visited- गोपनीयता पर एक सभ्य पठन है जो समस्याओं को बताता है और सुझाव देता है कि केवल कुछ चुनिंदा गुणों को ही अनुमति दें। यह संभावना है कि अनुमति गुण ब्राउज़र से ब्राउज़र में भिन्न होंगे। –

0

जो मैं कल्पना से समझता हूं उससे, ब्राउज़र :linka जैसे विज़िट किए गए स्थिति पर दुरुपयोग से बचने के लिए इलाज कर रहे हैं। इसलिए जावास्क्रिप्ट के साथ या उसके बिना, वास्तव में सभी लिंक पर लागू शैली :link है, और :visited केवल विज़िट होने पर शैली को ओवरलोड कर रहा है।

+0

लेकिन 'रंग' संपत्ति * *: लिंक 'वर्ग द्वारा ओवरराइड नहीं हो रही है, जबकि अन्य शैलियों हैं। यहां देखें: http://jsfiddle.net/SEjJg/3/ – DisgruntledGoat