2012-05-18 10 views
5

मुझे पता है कि आप सास/एसएसएस में कुछ सरल गणित करने में सक्षम हैं। लेकिन प्रतिशत से पिक्सल घटाने का कोई तरीका है? उदाहरण के लिए:एसएएसएस में प्रतिशत से पिक्सेल घटाएं?

$image-size: 200px; 

.bio { 
    width: 100% - $image-size; 
} 

उत्तर

2

मुझे नहीं लगता कि यह कैसे काम करेगा, तथ्य यह है कि SASS आपके बॉक्स के आकार को जादुई रूप से नहीं जान सकता है।

अब अगर मैं जो करने की कोशिश कर रहा हूं, तो मुझे सबसे अच्छा समाधान होगा। बॉक्स की मूल चौड़ाई को एक चर में लपेटना होगा और फिर अपनी छवि चौड़ाई उस चर पर घटाएगी - 100% चौड़ाई पर विचार करने का मतलब है कि इसे 100% एक निश्चित चौड़ाई।

+7

'कैल्क() 'जादू है जो सैस गायब था। यह जवाब अब सही नहीं है। –

+1

@ सेठबत्तीन यह कहने के लिए कि उत्तर "अब सही नहीं है" पूरी तरह सत्य नहीं है: Sass * पिक्सेल को प्रतिशत/em/rem/vh/vw/etc से घटा नहीं सकता है। 'calc()' सीएसएस की एक विशेषता है, सास नहीं। – cimmanon

+1

@cimmanon यह एक तनावपूर्ण भेद है, जिससे तनाव कम हो सकता है, जब लक्ष्य सीएसएस में उस चीज़ को लागू करना है। सास का उपयोग स्टाइल के लिए सिर्फ एक अतिरिक्त जटिलता है, और एपेरकू का जवाब उस जटिलता से संबंधित है। –

19

आप जो चाहते हैं उसे प्राप्त करने के लिए calc() फ़ंक्शन का उपयोग कर सकते हैं। यह प्रयोगात्मक है लेकिन अभी भी विभिन्न ब्राउज़रों द्वारा pretty good supported है।

@mixin calc($key, $value) { 
    #{$key}: -webkit-calc(#{$value}); 
    #{$key}: -moz-calc(#{$value}); 
    #{$key}: calc(#{$value}); 
} 

और से कॉल करने की:

के साथ सास, तो आप इस -webkit और -moz उपसर्गों के साथ पर काम कर अधिक ब्राउज़र संस्करणों (ओपेरा एक की कोई जरूरत नहीं) प्राप्त करने के लिए एक calc mixin बना सकते हैं कुछ ऐसा:

.bio { 
    @include calc("width", "100% - #{$image-size}"); 
} 
संबंधित मुद्दे