जैसा कि अन्य उत्तरों में बताया गया है, आप अपने वीएमएल तत्व में अपनी स्टाइल शीट में निर्दिष्ट किसी भी शैली को लागू करने के लिए DHMTL behaviors का उपयोग कर सकते हैं क्योंकि व्यवहार IE5 से IE9 तक समर्थित हैं। vmlcss.htc:
एक एचटीसी फ़ाइल बनाने, जैसे द्वारा प्रारंभ
<PUBLIC:COMPONENT>
<PUBLIC:ATTACH EVENT="onpropertychange" ONEVENT="onpropertychange()" />
<PUBLIC:METHOD NAME="refresh" />
<SCRIPT LANGUAGE="JScript">
function onpropertychange()
{
if (event.propertyName == "className")
{
refresh();
}
}
function refresh()
{
// Set any VML attribute you may define in your stylesheet
element.fillcolor = element.currentStyle["fillcolor"];
element.strokecolor = element.currentStyle["strokecolor"];
// etc.
}
refresh();
</SCRIPT>
</PUBLIC:COMPONENT>
फिर अपने VML तत्वों को लागू करना होगा। अपने विशेष उदाहरण के लिए, आप का प्रयोग करेंगे: के रूप में अपने उदाहरण में दिखाया गया
<style>
v\:path
{
behavior: url(vmlcss.htc);
}
</style>
अंत में, शैलियों निर्दिष्ट करें:
.myRedPath
{
fillcolor: red;
strokecolor: yellow;
}
आप all VML attributes लिए समर्थन जोड़ने के व्यवहार फ़ाइल को संशोधित कर सकते हैं।
एक ऐसी तकनीक का प्रयोग कर एक पुस्तकालय है कि VML या एसवीजी (ब्राउज़र समर्थन के आधार पर) का उपयोग कर आकार ड्रॉ और सीएसएस के माध्यम से स्टाइल की अनुमति देता है लिखने के लिए कर सकते हैं। SVG styles के लिए समर्थन तो इसी VML विशेषताओं के लिए प्रत्येक एसवीजी शैली मैप करके इस तरह के एक व्यवहार फ़ाइल का उपयोग VML वस्तुओं के लिए जोड़ा जा सकता है।
स्रोत
2014-09-18 09:15:58
VML का प्रयोग क्यों जब आप कैनवास उपयोग कर सकते हैं? –
शायद पीछे की संगतता के लिए। हालांकि मैं इसके बजाय राफेल का उपयोग करने का सुझाव दूंगा क्योंकि यह ब्राउज़र असंगतताओं को दूर करता है। – Hyangelo
हाँ, दुर्भाग्य से मैं IE के पुराने संस्करणों का समर्थन करने के लिए है। राफेल महान है, लेकिन चीजों को यह कमी रह गई है कि में से एक है कि आप केवल शैली आकार स्पष्ट रूप से कर सकते हैं, सीएसएस के माध्यम से नहीं। मुझे लगता है कि इस सवाल का जवाब है "नहीं, आप ऐसा नहीं कर सकते", लेकिन मुझे आशा है कि मुझे कुछ याद आ रहा है :) –