2013-08-23 5 views
15

मैं ज़र्ब फाउंडेशन 4 (एस) सीएसएस ढांचे का उपयोग कर रहा हूं, और मैं बड़े पैमाने पर डुप्लिकेट शैलियों के मुद्दे पर चल रहा हूं। ऐसा इसलिए है क्योंकि प्रत्येक फ़ाइल में मैं @import 'foundation' में, फाउंडेशन से सभी शैलियों को भी आयात किया जाता है (body, .row, .button और दोस्तों के लिए नियम)। यह लंबे समय तक एससीएसएस संकलन समय की ओर जाता है, और क्रोम में वेब डेवलपर कंसोल नेविगेट करना मुश्किल है, क्योंकि ज़र्ब की सभी शैलियों को चार या पांच बार घोषित किया जाता है। (यह foundation_and_overrides.scss से कॉपी-पेस्ट किया था, तो foundation_and_overrides आयात वैश्विक)स्कैस स्टाइलशीट्स से केवल एक चर और मिश्रित आयात कैसे कर सकता है?

इस कम करने के लिए, मैं एक globals एससीएसएस फ़ाइल है, जो ओवरराइड चर कि फाउंडेशन होती है जिसका उपयोग बना लिया है। केवल globals.scss फ़ाइल आयात करना केवल उन फ़ाइलों में डुप्लीकेट से छुटकारा पाता है जो फाउंडेशन मिक्सिन का उपयोग नहीं करते हैं।

यह उन फाइलों में है जो फाउंडेशन मिश्रणों का उपयोग करते हैं: क्या मैं कंक्रीट फाउंडेशन शैलियों को आयात किए बिना केवल एससीएसएस फ़ाइल से मिश्रित आयात कर सकता हूं?

+0

यदि आप इसे कम्पास एक्सटेंशन के रूप में उपयोग कर रहे हैं तो आपको हाथ से एक चर फ़ाइल बनाने की आवश्यकता नहीं है। 'कम्पास इंस्टॉल नींव' कमांड को आपके लिए _settings.scss फ़ाइल जेनरेट करनी चाहिए थी। – cimmanon

+0

@ सेमीमन, मैं कंपास का उपयोग नहीं कर रहा हूं; मैं रेल की संपत्ति पाइपलाइन संकलन का ख्याल रखता हूं, और निर्भरता प्रबंधन के लिए बंडलर देता हूं। – dymk

उत्तर

11

आयात एक या कुछ भी नहीं है। फाइल में जो कुछ भी है वह आपको मिलता है। यदि आप फाउंडेशन के स्रोत को देखते हैं, हालांकि, वे चर हैं जिन्हें आप संशोधित कर सकते हैं जो उत्सर्जित शैलियों को दबाएंगे (उदाहरण के लिए buttons में, $include-html-button-classes को शैलियों को अक्षम करने के लिए सेटिंग)। यह डिज़ाइन पैटर्न फाउंडेशन विशिष्ट है, आप अन्य पुस्तकालयों को इस तरह से लिखने की उम्मीद नहीं कर सकते हैं।

जब आप @import "foundation" के माध्यम से नींव आयात करते हैं, तो आप इस फ़ाइल को आयात कर रहे हैं: https://github.com/zurb/foundation/blob/master/scss/foundation.scss। जैसा कि आप देख सकते हैं, यह अन्य फाइलों का आयात करता है। यदि आपको सबकुछ की आवश्यकता नहीं है, तो आपको इस फ़ाइल को आयात करने की आवश्यकता नहीं है: केवल अपनी इच्छित विशिष्ट फ़ाइल आयात करें (उदाहरण के लिए @import 'foundation/components/side-nav' केवल साइड-एनवी फ़ाइल के लिए)।

+1

धन्यवाद, मुझे फाउंडेशन प्रदान करने वाले दमन चर के बारे में पता नहीं था। उनको काफी मदद करनी चाहिए। – dymk

+0

शैलियों के पूरे ब्लॉक की बजाय बुलेट एनएवी एसएसएस/सीएसएस डाउनलोड करने पर ध्यान केंद्रित करने के लिए वैसे भी है? – Neil

+1

@NeilLittle उत्तर के जवाब "आयात एक सब कुछ या कुछ भी नहीं है" देखें। आप तब तक फ़ाइल के भाग नहीं चुन सकते हैं जब तक लेखक ने इसे इस तरह लिखा नहीं है जो आपको ऐसा करने की अनुमति देता है। – cimmanon

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