2011-09-06 17 views
47

मैंने अभी एक सीएसएस कोड देखा जिसमें ::before टैग शामिल था। ::before क्या है, यह देखने के लिए मैंने MDN पर देखा लेकिन मुझे वास्तव में यह समझ में नहीं आया। क्या कोई समझा सकता है कि यह कैसे काम करता है? क्या हम सीएसएस द्वारा चुने गए पहले डीओएम तत्व बनाते हैं?इससे पहले क्या अंतर है: पहले और :: पहले?

+1

AFAIK में वर्णन किया गया है, सीएसएस कार्य समूह एक अतिरिक्त पेट के साथ छद्म तत्वों उपसर्ग के लिए उन्हें छद्म वर्ग है जो केवल एक ही पेट है एक अलग पहचान दिलाने का फैसला किया। –

+5

... और चूंकि डबल-कॉलन नोटेशन IE8 में लागू नहीं किया गया है, इसलिए हमें ':: इससे पहले' शुरू करने से पहले, बाजार से (जैसे 2016 या उससे भी अधिक) तक फ़्लश किया जाना चाहिए। ग्रेट जॉब, माइक्रोसॉफ्ट '-.-' –

+1

छद्म-तत्व सीएसएस 1 के आसपास रहे हैं। पहले छद्म तत्व 'प्रथम अक्षर' और ': प्रथम-रेखा' थे। – BoltClock

उत्तर

12

यह छद्म वर्गों से छद्म तत्वों को अलग करता है।

छद्म वर्गों और छद्म तत्वों के बीच अंतर http://www.d.umn.edu/~lcarlson/csswork/selectors/pseudo_dif.html

+3

:: छद्म-वर्गों और छद्म तत्वों के बीच भेदभाव स्थापित करने के लिए CSS3 में नोटेशन (दो कोलन के साथ) को पेश किया गया था। ब्राउज़र भी नोटेशन स्वीकार करते हैं: सीएसएस 2 में पेश किए जाने से पहले स्रोत: https: //developer.mozilla।संगठन/एन-यूएस/डॉक्स/वेब/सीएसएस/:: पहले जैसा कि एक छद्म तत्व है और एक छद्म वर्ग नहीं है (जैसे: होवर) दो कोलन बेहतर है (इस प्रकार CSS3 मानक का पालन करना)। – JoostS

35

उन डॉक्स के अनुसार, वे बराबर हैं:

element:before { style properties } /* CSS2 syntax */ 

element::before { style properties } /* CSS3 syntax */ 

फर्क सिर्फ इतना है कि डबल पेट, CSS3 में प्रयोग किया जाता है, जबकि एक पेट के पुराने संस्करण में है।

तर्क:

:: पहले अंकन आदेश छद्म वर्गों और छद्म तत्वों के बीच एक भेदभाव स्थापित करने के लिए सीएसएस 3 में पेश किया गया था। ब्राउज़र भी नोटेशन स्वीकार करते हैं: सीएसएस में पेश किए जाने से पहले 2.

5

वे अनिवार्य रूप से वही बात मानते हैं। :: को छद्म तत्वों (जैसे: पहले और बाद में) और छद्म वर्गों (जैसे: लिंक और: होवर) के बीच अवरोध करने में सहायता के लिए CSS3 में पेश किया गया था।

2

एक सीएसएस 2 (: पहले) तरीका है और दूसरा CSS3 (:: पहले) है। वर्तमान में वे ब्राउज़र में विनिमेय हैं जो सीएसएस 2 & CSS3 का समर्थन करते हैं।

यहां एक अच्छी व्याख्या दी गई है: http://www.impressivewebs.com/before-after-css3/

3

मैं MDN और w3.org, और सबसे अच्छा मैं के साथ किया जाता है कि ::संरचनात्मक परिवर्तन के लिए प्रयोग किया जाता है ऊपर आ सकता है की जाँच की, और :स्टाइल के लिए प्रयोग किया जाता है।

वे वर्तमान में संगतता कारणों के लिए विनिमेय हैं।

यह :link (उदाहरण के लिए) को अलग करने, जो शैलियों एक <a>, :before से (जो एक संरचनात्मक परिवर्तन है) प्रकट होता है।

: स्टाइल के लिए है, :: संरचना के लिए है।

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