मैं ईएमएस में फ़ॉन्ट आकार निर्दिष्ट कर रहा हूं, जिसका अर्थ है कि वे मूल कंटेनर से संबंधित हैं। मेरे पास कई बच्चे तत्व हैं और जब मैं इसकी गणना करता हूं तो हर बार माता-पिता के आकार को दोहराना नहीं चाहता हूं। तो मेरे पास है:कम स्ट्रिंग इंटरपोलेशन
@articleFontSize: 21/16;
हैं, तो आगे पर, मैं का उपयोग करें:
font-size: @articleFontSizeem;
आपकी अपेक्षानुसार, मैं 'चर @articleFontSizeem अपरिभाषित है'।
अगर मैं यह अंतर्वेशन: तो फिर
font-size: @{articleFontSize}em;
यह संकलित करने के लिए मना कर दिया और मैं सिर्फ एक सादे 'सिंटेक्स त्रुटि' मिलता है।
font-size: @articleFontSize~"em";
यह संकलित - लेकिन उत्पादन में मैं की तरह कोड प्राप्त:
font-size: 1.3125 em;
यानी यह इकाइयों से पहले एक स्थान जोड़ दिया जाता है, तो वे ब्राउज़र द्वारा नजरअंदाज कर दिया जाता है।
मै मैक पर लाइवरलोड लोड कर रहा हूं (2.0 बीटा 5) जो सेटिंग्स के अनुसार संकलन के लिए 'सिस्टम रूबी 1.8.7' का उपयोग करता है।
UPDATED समाधान:
एक। सही इकाइयों की शून्य राशि जोड़ें:
font-size: 0em + @articleFontSize;
बी। (मेरे पहले वैकल्पिक पद्धति - एक समारोह का उपयोग कर):
.rFont(@target, @context) {
@ratio: @target/@context;
font-size: ~"@{ratio}em";
}
साथ कहा जाता है:
.rFont(11,@articleFontSize);
आउटपुट (सही, कोई अवांछित रिक्त स्थान पर ध्यान दें):
font-size: 0.7063571428571428em;
मैं उम्मीद नहीं थी tilde + quotes के अंदर @ {अनुपात} डालने के लिए अभी भी इसे विस्तारित करें। लेकिन यह काम करता है (लगभग कुछ नहीं करता है।)
यह सवाल मदद की: concatenate values in less (css) without a space
भागने विधि मुझे मदद मिली है, धन्यवाद – Huangism