2017-07-26 21 views
5

मैं छद्म तत्वों शैलियों के साथ खेल रहे हैं और एक व्यवहार है कि मुझेछद्म तत्वों शैलियों प्राथमिकता

हैरान निम्नलिखित सीएसएस और एचटीएमएल

एचटीएमएल पर विचार भर में आया था:

<p> 
     Note: As a rule, double colons (::) should be used instead of a single colon (:). This distinguishes pseudo-classes from pseudo-elements. However, since this distinction was not present in older versions of the W3C spec, most browsers support both syntaxes for the sake of compatibility. Note that ::selection must always start with double colons ::. 
    </p> 

और शैलियों

p::first-letter { 
    font-size: 20px; 
    color: red; 
} 

p::first-line { 
    font-variant: small-caps; 
    color: green; 
} 

p::before { 
    content: 'Start'; 
    color: blue; 
} 

क्रोम में व्यवहार निम्न है: पहले अक्षर :: conten से पहले टी रंग लाल है, भले ही इसकी पी और :: की सामग्री नहीं है, शैलियों से नीले रंग को ओवरराइट नहीं किया जाता है। enter image description here

इसके अलावा जब वहाँ में :: कोई पत्र की सामग्री से पहले है और मैं & या डाल * वहाँ - सब पहली पंक्ति हरी हो जाता है और कोई :: पहला अक्षर और :: शैलियों से पहले लागू होता है।

Firefox में प्रदान किए गए कोड का परिणाम हो सकता है निम्नलिखित: enter image description here

मैं उबंटू 17.04 के तहत नवीनतम ब्राउज़र संस्करणों का उपयोग कर रहा

तो किसी को समझा सकता है क्यों :: सामग्री से पहले अन्य से चुना जाता है छद्म-तत्व चयनकर्ताओं और वहां शैलियों को लागू किया गया है और क्यों स्वयं :: शैलियों से पहले उन्हें ओवरराइट नहीं करते हैं, भले ही वे "बाद में" शैलियों हैं।

+0

विशिष्टता सभी चयनकर्ताओं के लिए 2. तो मैं कहना चाहता हूँ कि पिछले एक जीतता है। लेकिन यह –

+0

नहीं है, मेरा पहला पत्र लाल है और नीला नहीं है –

+0

आह क्षमा करें, आपकी पोस्ट को गलत तरीके से पढ़िए हाहा मेरी टिप्पणियों को हटा देगा :) – ThisGuyHasTwoThumbs

उत्तर

3

पहली पंक्ति और पहले अक्षर के लिए, यह वास्तव में विशिष्टता की समस्या नहीं है। यह सिर्फ इस तरह निर्दिष्ट:

नियमित तत्वों की सामग्री के साथ के रूप में, :: पहले और के द्वारा निर्मित सामग्री को: छद्म तत्वों किसी भी :: पहली लाइन और में शामिल किया जा सकता के बाद :: प्रथम पत्र छद्म तत्व अपने मूल तत्व पर लागू होते हैं।

(source)

+0

धन्यवाद, यह बताता है कि :: प्रथम श्रेणी और :: प्रथम-अक्षर की शैलियों को क्यों लागू किया जाता है। लेकिन क्यों आखिरी वाला (जो पहले :: है) जीत नहीं पाता है? –

+0

@OlenaHoral मैं इस बारे में अनिश्चित हूं। ऐसा लगता है कि जब आप छद्म तत्वों को स्टाइल करते हैं तो बहुत सारे अनिर्दिष्ट (या कम से कम अस्पष्ट) व्यवहार होते हैं क्योंकि वे नियमों के परिणाम के रूप में स्वयं मौजूद होते हैं। –

+0

@OlenaHoral किसी भी मामले में अब मेरा जवाब स्वीकार न करें, आपके प्रश्न का बेहतर उत्तर देने योग्य है। –

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