2011-05-18 10 views
6

मैं एक ढांचे पर काम कर रहा हूं जो वेबरॉट के बाहर निर्देशिका से सभी छवियों को लोड करने के लिए एक छवि नियंत्रक का उपयोग करता है, और इसमें सीएसएस के भीतर उपयोग की जाने वाली छवियां शामिल हैं। उदाहरण के लिए:मैं एक्सएचटीएमएल दस्तावेज़ में सीएसएस में एम्पर्सेंड का उपयोग कैसे कर सकता हूं और अभी भी मान्य हूं?

background: #FFF url(example.org/index.php?sect=loadimg&img=branding.jpg) top left repeat-x; 

यह ठीक से काम करने लगता है, लेकिन मेरे एक्सएचटीएमएल सत्यापनकर्ता सीएसएस में एम्परसेंड उपयोग पसंद नहीं करता है, और बदले & का उपयोग कर बिल्कुल काम नहीं करता है। तो क्या किसी को पता चलेगा कि स्टाइलशीट में इस तरह के एम्पर्सेंड का उपयोग करना कानूनी है? यदि नहीं, तो क्या वही छवि अनुरोध पूरा करने का कोई और तरीका है?

उत्तर

10

वैधकर्ता केवल तभी शिकायत करेगा यदि आप एक्सएचटीएमएल डॉक्ट टाइप के खिलाफ मान्य हैं। <style> और <script> तत्वों के भीतर अनचाहे HTML वर्ण होने के बाद भी सामान्य HTML (दोनों 4.01 और 5) में मान्य माना जाना चाहिए।

आदर्श समाधान अपने सीएसएस को बाहरी स्टाइलशीट में ले जाना है और इसमें <link> या @import का उपयोग करना शामिल है।

अपनी शैली <style> टैग का निवासी होना आवश्यक हैं, हालांकि, आप CDATA भाग अपने <style> टैग के भीतर जोड़ सकते हैं: सभी HTML विशेष वर्ण हैं जो अनुभाग के भीतर सचमुच इलाज किया जाना

<style type="text/css"> 
/* <![CDATA[ */ 

/* Your CSS here */ 

/* ]]> */ 
</style> 

इस कारण होगा, और अपने एक्सएचटीएमएल सत्यापन करने के लिए दस्तावेज़।

ध्यान दें कि सीडीएटीए अनुभाग डिलीमीटर केवल <![CDATA[ और ]]> हैं; वे /* सीएसएस टिप्पणियों */ में लिपटे हैं इसलिए ब्राउज़र उन्हें सीएसएस के रूप में समझने की कोशिश नहीं करते हैं।

एक्सएचटीएमएल में सीडीएटीए अनुभाग covered by the spec हैं।

+0

एक अच्छा समाधान की तरह लगता है, जानकारी के लिए चीयर्स बहुत सराहना की – Spoonface

+0

हाँ, मैं नियमित रूप से इस समाधान का उपयोग कर रहा हूं और यह मुझे अच्छी तरह से सेवा करता है। – BoltClock

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

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