2013-06-19 6 views
7

मुझे लगता है कि एक उन्हें मूल्य लेता है, इकाई स्ट्रिप्स और बनाता है एक पिक्सल मूल्य सास में एक कस्टम समारोह है की दोहरी उदाहरण बनाता है एक उन्हें चर ले:सास समारोह में दो मान दर्ज करके 'पिक्सल'

$em-variable: 1em; 

और एक पिक्सेल आधारित चर में जोड़ें:

$px-variable: 20px; 

उदाहरण:

right: $px-variable + (stripAndPx($em-variable)); 

कौन इस उत्पादन बनाता है:

right: 20px16px; 

मैं दोनों मूल्यों की उम्मीद कर रहा हूँ जोड़े जाने के लिए:

right: 36px;

+0

आप 20px को 1em में जोड़ने और 36px प्राप्त करने में सक्षम होने की अपेक्षा क्यों करेंगे? जबकि अधिकांश ब्राउज़र में 16px मानक डिफ़ॉल्ट फ़ॉन्ट आकार है, उपयोगकर्ता इस मान को बदल सकते हैं और बदल देंगे, आप कभी भी 1em = 16px मान सकते हैं। – cimmanon

+0

@cimmanon मैंने इसे अपने बेस पीएक्स वैल्यू के रूप में स्थापित किया है – Yahreen

उत्तर

16

आपका समारोह एक स्ट्रिंग, नहीं एक नंबर लौटा रहा है। सास मानते हैं कि आप उन्हें जोड़ना चाहते हैं क्योंकि यह एक स्ट्रिंग और किसी अन्य प्रकार के साथ कर सकता है।

@function stripAndPx($in){ 
    $stripped: $in/($in * 0 + 1); //strip unit 
    @return (($stripped) * 16) * 1px; //convert to px 
} 
संबंधित मुद्दे