2012-04-30 17 views
7

मैं आईई में ढाल उत्पन्न करने के लिए निम्न सीएसएस कोड से संबंधित कम कोड लिखने की कोशिश कर रहा हूं।कम सीएसएस में एस्केप कैरेक्टर अवांछित रिक्त स्थान

.gradient(@start_color, @end_color) 
{ 
    filter:~"progid:DXImageTransform.Microsoft.gradient(startColorstr='"@start_color~"',endColorstr='"@end_color~"')"; 
} 
.gradient(#ff9600,#ff6900) 

संकलन पर यह निम्नलिखित सीएसएस कोड देता है::

filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff9600',endColorstr='#ff6900'); 

निम्नलिखित कम कोड है

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=' #ff9600 ', endColorstr=' #ff6900 '); 

आप रंग के दोनों किनारों पर डाला स्थान नहीं देख सकते हैं मान जिसके कारण आईई रंगों को सही ढंग से नहीं पढ़ता है।

मैंने http://crunchapp.net/ के साथ-साथ http://winless.org/ का उपयोग करके कम कोड संकलित किया है और दोनों एक ही परिणाम प्रदान कर रहे हैं। क्या इन रिक्त स्थान से बचने के लिए कोई हैक है। धन्यवाद।

उत्तर

10

स्ट्रिंग को समाप्त करने और इसे पुनरारंभ करने के बजाय परिवर्तनीय इंटरपोलेशन का उपयोग करें।

उदा।

~ "बार @ {नाम} foo"

और कोई रिक्त स्थान सम्मिलित किया जाएगा।

+0

यह काम करता है :)। आपका बहुत बहुत धन्यवाद! –

0

मैं LESS से परिचित नहीं हूं; हालांकि, क्या से मैं अपने पृष्ठ पर देख सकते हैं:

.class { 
    filter: ~"ms:alwaysHasItsOwnSyntax.For.Stuff()"; 
} 

पता चलता है कि वहाँ कोई ~ चर और कहा कि संलग्न अगर आप के माध्यम से एकल उद्धरण पारित करने के लिए कोशिश कर रहे थे होना चाहिए, यह "'@var'" बजाय '"@var"' के साथ होगा बाहर के बजाय अंदर एकल उद्धरण। मैंने यहां थोड़ा और शोध किया, और लगता है कि यह एक टिप्पणी के बजाय एक जवाब है।

+0

इस के रूप में काम नहीं करता है यह कंपाइलर वैरिएबल नाम को वैरिएबल के बजाय स्ट्रिंग के रूप में मानता है और परिवर्तनीय नाम संकलित सीएसएस में दिखाई देगा। –

3

मैं LESS.app (www.lesscss.org) का उपयोग कर रहा हूँ ...

मैं सिर्फ

filter: progid:dximagetransform.microsoft.gradient(startColorstr='@{start}', endColorstr='@{stopColor}', GradientType=0); 

रख दिया और यह ठीक से नीचे के रूप में संकलित हो जाता है:

filter: progid:dximagetransform.microsoft.gradient(startColorstr='#76787a', endColorstr='#9d9ea0', GradientType=0);