हम एस के list-style-imageसाथ जोड़ सकते हैं svg, जो हम कर सकते हैं css में इनलाइन ! यह विधि "गोलियों" पर अविश्वसनीय नियंत्रण प्रदान करती है, जो कुछ भी बन सकती है।
लाल वृत्त प्राप्त करने के लिए, बस निम्नलिखित सीएसएस का उपयोग करें:
ul {
list-style-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" width="10" height="10"><circle fill="red" cx="5" cy="5" r="2"/></svg>');
}
लेकिन यह तो केवल शुरूआत है। यह हमें उन गोलियों के साथ किसी भी पागल चीज़ को करने की अनुमति देता है। मंडलियां या आयतें आसान हैं, लेकिन आप जो कुछ भी अपने साथ खींच svgसकते हैं, वह वहां चिपक सकता है! नीचे दिए गए बुल्सआई उदाहरण देखें:
ul {
list-style-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" width="10" height="10"><circle fill="red" cx="5" cy="5" r="5"/></svg>');
}
ul ul {
list-style-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" width="10" height="10"><rect fill="red" x="0" y="0" height="10" width="10"/></svg>');
}
ul ul ul {
list-style-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" width="10" height="10"><circle fill="red" cx="5" cy="5" r="3"/></svg>');
}
ul ul ul ul {
list-style-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" width="10" height="10"><rect fill="red" x="2" y="2" height="4" width="4"/></svg>');
}
ul.bulls-eye {
list-style-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" width="10" height="10"><circle fill="red" cx="5" cy="5" r="5"/><circle fill="white" cx="5" cy="5" r="4"/><circle fill="red" cx="5" cy="5" r="2"/></svg>');
}
ul.multi-color {
list-style-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" width="15" height="15"><circle fill="blue" cx="6" cy="6" r="6"/><circle fill="pink" cx="6" cy="6" r="4"/><circle fill="green" cx="6" cy="6" r="2"/></svg>');
}
<ul>
<li>
Big circles!
<ul>
<li>Big rectangles!</li>
<li>b
<ul>
<li>Small circles!</li>
<li>c
<ul>
<li>Small rectangles!</li>
<li>b</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>b</li>
</ul>
<ul class="bulls-eye">
<li>Bulls</li>
<li>eyes.</li>
</ul>
<ul class="multi-color">
<li>Multi</li>
<li>color</li>
</ul>
चौड़ाई / ऊँचाई विशेषताएँ
कुछ ब्राउज़रों की आवश्यकता होती है widthऔर heightउन पर सेट होने के लिए विशेषताएँ होती हैं<svg> , या वे कुछ भी प्रदर्शित नहीं करते हैं। लेखन के समय, फ़ायरफ़ॉक्स के हाल के संस्करण इस समस्या को प्रदर्शित करते हैं। मैंने दोनों विशेषताओं को उदाहरणों में सेट किया है।
एन्कोडिंग
हाल ही में एक टिप्पणी ने मुझे डेटा-यूरी के लिए एनकोडिंग की याद दिला दी। यह मेरे लिए हाल ही में एक दर्द-बिंदु था, और मैंने जो शोध किया है उसकी थोड़ी जानकारी साझा कर सकता हूं।
डेटा-uri कल्पना है, जो संदर्भ यूआरआई कल्पना का कहना है कि svg के अनुसार इनकोडिंग किया जाना चाहिए यूआरआई कल्पना । साधन पात्रों के सभी प्रकार इनकोडिंग दिया जाना चाहिए कि, उदाहरण के लिए <हो जाता है %3C।
कुछ स्रोत आधार 64 एन्कोडिंग का सुझाव देते हैं, जो एन्कोडिंग मुद्दों को ठीक करना चाहिए, हालांकि यह अनावश्यक रूप से एसवीजी के आकार में वृद्धि करेगा, जबकि यूआरआई एन्कोडिंग नहीं होगा। मैं URI एन्कोडिंग की सलाह देता हूं।
और जानकारी:
ब्राउज़र-समर्थन: > यानी 8
svgs पर सीएसएस चाल
svg पर mdn