2009-11-03 9 views
80

मैं आज एक सीएसएस फ़ाइल देख रही है और निम्नलिखित नियम सेट मिला था:सीएसएस में एक स्टार से पहले की संपत्ति का मतलब क्या है?

div.with-some-class { 
    display:block;     
    margin:0; 
    padding:2px 0 0 0; 
    *padding:1px 0 0 0; 
    font-size:11px; 
    font-weight:normal; 
    *line-height:13px; 
    color:#3D9AD0; 
} 

क्या स्टार * गद्दी और * line-height में क्या मतलब है?

धन्यवाद।

उत्तर

92

यह "अंडरस्कोर हैक" के समान ही "स्टार प्रॉपर्टी हैक" है। इसमें संपत्ति से पहले जंक शामिल है जो आईई अनदेखा करता है (* आईई 7 तक काम करता है, _ आईई 6 तक)।

+7

धन्यवाद! और मैंने "स्टार प्रॉपर्टी हैक" देखा और एड एलियट द्वारा यह स्पष्ट और व्यापक पोस्ट पाया: "सीएसएस टिप: आईई 5.x, 6 और 7 अलग-अलग लक्ष्यीकरण" http://www.ejeliot.com/blog/63 पर –

+1

सीएसएस हैक का उपयोग करने के बजाय, आप या तो सशर्त टिप्पणियों का प्रयास कर सकते हैं, http://www.quirksmode.org/css/condcom.html अधिक जानकारी बनाएं। –

+0

यह ध्यान दिया जाना चाहिए कि अगर आप स्टार प्रॉपर्टी हैक का उपयोग करते हैं तो सफारी (7.0.1) और इससे पहले के संस्करण (सत्यापित नहीं कर सकते) कंसोल चेतावनियां फेंक देंगे। – Jim

32

सीएसएस में? कुछ भी तो नहीं; यह एक त्रुटि है।

इंटरनेट एक्सप्लोरर के कुछ संस्करणों में बग के कारण, वे अमान्य संपत्ति नाम को सही ढंग से अनदेखा नहीं करेंगे, इसलिए यह उन ब्राउज़रों के लिए विशिष्ट सीएसएस प्रदान करने का एक तरीका है।

सशर्त टिप्पणियों का उपयोग करना स्पष्ट और सुरक्षित है।

+2

दरअसल। सीएसएस हैक जो मान्य सीएसएस नहीं हैं से बचा जाना चाहिए; आप कभी नहीं जानते कि भविष्य के ब्राउज़र उनके साथ क्या कर सकते हैं। – bobince

+0

@ बॉबेंस मुझे एहसास है कि आपने अतीत में उस टिप्पणी को वापस कर दिया है, लेकिन अब हम पूरी तरह से सुनिश्चित हो सकते हैं कि प्रत्येक भविष्य ब्राउज़र यह कैसे सीएसएस पार्सिंग एल्गोरिदम के रूप में व्याख्या करेगा, यह बहुत सख्त है और ब्राउजर को ऐसे नियमों को चुपचाप अनदेखा करने के लिए कहता है। – mgol

+1

@m_gol - नहीं हम नहीं कर सकते हैं। हम नहीं जानते कि भविष्य में सीएसएस विनिर्देश किसी संपत्ति से पहले '*' के अर्थ के बारे में क्या कहेंगे। यदि इसका अर्थ मिलता है, तो वर्तमान ब्राउज़र इसे अनदेखा कर देगा जिससे एक्सटेंशन को सुरक्षित रूप से जोड़ा जा सके। यह "अनदेखा" नियम का मुद्दा है। – Quentin

7

क्षुद्रग्रह चरित्र सीएसएस में एक मान्य वाइल्डकार्ड है। इसका अकेले उपयोग का मतलब है कि निम्नलिखित सीएसएस गुणों का उपयोग डोम में सभी तत्व नोड्स के खिलाफ किया जाएगा। उदाहरण:

ऊपर संपत्ति सब डोम तत्वों को लागू किया जाएगा, जिससे सीएसएस में प्राकृतिक व्यापक पराजित किया। इसे विशेष रूप से टैगिंग डीओएम तत्वों द्वारा ओवरराइड किया जा सकता है जहां वह लक्ष्यीकरण एक अद्वितीय पहचानकर्ता संदर्भ शुरू करता है। उदाहरण:

#uniqueValue div strong{color:#f00;} 

ऊपर संपत्ति वाइल्डकार्ड ओवरराइड और सभी मजबूत तत्वों है कि "uniqueValue" का एक आईडी गुण मान के साथ एक तत्व के अंदर एक div में होते हैं का पाठ कर देगा।

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

* strong{color:#f00;} 

ऊपर के उदाहरण एक अद्वितीय पहचानकर्ता के साथ निर्दिष्ट नहीं अन्य सीएसएस गुण की परवाह किए बिना सभी मजबूत तत्वों लाल रंग का पाठ कर देगा: आप वाइल्डकार्ड का उपयोग करने के लिए जा रहे हैं, तो मैं इस तरह के रूप में और अधिक विशेष रूप से इसे का उपयोग, सुझाव है । इसे "महत्वपूर्ण" घोषणा का उपयोग करने से कहीं अधिक सुरक्षित माना जाता है क्योंकि यह घोषणा इरादे के व्यवहार की प्राकृतिक कार्यक्षमता के साथ हस्तक्षेप के कारण जानी जाती है और एक रखरखाव दुःस्वप्न है।

आपके उदाहरण में क्षुद्रग्रह गलत जगह पर हैं क्योंकि वे संपत्ति घोषणाओं के अंदर होते हैं, कोड जो घुंघराले ब्रेसिज़ के अंदर जाता है, और इससे एक त्रुटि हो सकती है।

+2

अधिक जानकारीपूर्ण, हैक के लिए -फ्री उत्तर –

+31

जानकारीपूर्ण, हां, लेकिन इस प्रश्न से असंबंधित। –

+3

उत्तर देता है कि मैं किसके लिए गुम हो गया, भले ही इसका सही उत्तर न हो – Steve

4

यह आई 7 के लिए एक हैक है।

आप इस लिखते हैं: सभी नाविक जो सम्मान W3C मानक <div class="test"></div> HTMLElement एक z-index: 1 है, लेकिन IE7 के लिए, यह तत्व एक z-index: 2 है पर

.test { 
    z-index: 1; 
    *z-index: 2; 
} 

यह मानक नहीं है।

W3C मानक के साथ एक ही बात को प्राप्त करने, इस चरणों का पालन करें:

  • कुछ इंटरनेट एक्सप्लोरर सशर्त टिप्पणी जोड़ें (यह सब अन्य Navigateur के लिए एक साधारण HTML टिप्पणी है हां, तो यह एक मानक तरीका है)।

    < - [अगर IE 7]> < एचटीएमएल lang = "fr" वर्ग = "IE7"> < [endif] ->

    < - [अगर जीटी IE 7]> < -> < एचटीएमएल lang = "fr"> < - < [endif] ->

और इस तरह पिछले नियमों का उपयोग करें:!!

.test { 
    z-index: 1; 
} 
.ie7 .test { 
    z-index: 2; 
} 
संबंधित मुद्दे