2013-03-26 6 views
5

में वैरिएबल ओवरराइड वैरिएबल मैं सीएसएस के विकास के लिए नवीनतम SASS/Compass संस्करणों का उपयोग करता हूं। मैं की शुरुआत में कुछ एस.ए.एस.एस. चर घोषित किया है "मीडिया = सभी" इस तरह स्टाइलशीट:प्रिंट स्टाइलशीट में एसएएस वैरिएबल "सभी" स्टाइलशीट

$var1: red; 
$var2: blue; 
$var3: black; 
$var4: green; 

इस एससीएसएस फ़ाइल मैं एक प्रिंट स्टाइलशीट (@import 'print.scss';) आयात में बाद में जो दिखता है इस तरह:

@media print { 
    $var1: black; 
    $var2: black; 
    $var4:black; 
} 

मैंने सोचा, प्रिंट स्टाइलशीट में चर ओवरराइड करता है कि "सामान्य" वार्स केवल अगर ब्राउज़र "प्रिंट मोड" में है। लेकिन चर हमेशा ओवरराइड "सामान्य" वर्र्स को पहले घोषित करते हैं।

मैं थोड़ा उलझन में हूं और किसी भी मदद की सराहना करता हूं।

धन्यवाद!

उत्तर

2

this प्रश्नों के अनुसार, यह मूल रूप से आपके वर्तमान रूप में संभव नहीं है। आप इस लक्ष्य को हासिल करना चाहते हैं, तो आपको प्रत्येक शैली है कि आपके $varX का उपयोग करता है, की तरह आयात करना होगा:

$blue: blue; 

.test{ 
    color: $blue; 
} 

@media print { 
    $blue: pink; 
    .test{ 
     color: $blue; 
    } 
} 

उत्पादन:

.test{color:blue}@media print{.test{color:pink}} 

यह आदर्श समाधान नहीं है (आप मिल जाएगा बहुत सारे कोड दोहराए गए), लेकिन दुर्भाग्यवश यह सीएसएस काम करने के तरीके के कारण आप कर सकते हैं।

$blue: blue; 
$print_blue: pink; 

.test{ 
    color: $blue; 
    text-align: right; 
    @media print { 
     color: $print_blue; 
    } 
} 

उत्पादन:

.test{color:blue;text-align:right}@media print{.test{color:pink}} 
+0

अपने जवाब के लिए धन्यवाद

यह एक थोड़ा बेहतर समाधान हो सकता है! मुझे डर है कि मुझे ऐसा कुछ करना है :-(शायद यह सुविधा अगले SASS संस्करण के लिए कुछ हो सकती है ... – captainh2ok

+1

@ कप्तान 2ok यह अगले संस्करण के लिए एक विशेषता नहीं हो सकता है क्योंकि सर्वरसाइड SASS संकलक नहीं जानता कि कौन सा राज्य ब्राउज़र में होगा। आपको सीएसएस के संकलन को क्लाइंटसाइड में संकलित करने की आवश्यकता होगी जैसे कि कम कम से कम कर रहा है। js. – Christoph

+1

@ क्रिस्टोफ आप निश्चित रूप से सही हैं। SASS कंपाइलर "कृत्रिम बुद्धि" की तरह काम नहीं करता है। और इसलिए मैं कभी-कभी करता हूं ... – captainh2ok

संबंधित मुद्दे