2011-08-26 14 views
50

सबसे पहले मुझे शीर्षक पता है कि यह एक डुप्लिकेट प्रश्न है जैसा कि here, here, और here पूछा गया है। इस विषय पर जो कुछ भी मैंने पढ़ा है वह दो साल से अधिक है। उस समय अवधि में बहुत कुछ बदल गया है, वही विचार अभी भी सलाह दे रहे हैं?@import बनाम लिंक

यहां एक उदाहरण है, मैं अपने रीसेट सीएसएस और कुछ अन्य शैलियों को लाने के लिए स्टाइलशीट के अंदर @import का उपयोग करता हूं। क्या मुझे इसे @import से <link> में बदलना चाहिए? इस article के अनुसार मुझे लिंक का उपयोग करना चाहिए। इसलिए मैं अन्य डेवलपर्स से पूछता हूं, आज तक का सबसे अच्छा तरीका क्या है (25 अगस्त, 2011)

उत्तर

61

पिछले वर्ष या दो में कुछ भी नहीं बदला है, और हम अभी भी बहुत से से निपट रहे हैं तब से ब्राउज़र, तो आपको अपना अभ्यास नहीं बदलना चाहिए।

<link>, @import से अधिक सभी मामलों में पसंद किया जाता है क्योंकि बाद ब्लॉक समानांतर डाउनलोड, जिसका अर्थ है आयात की गई फ़ाइल से पहले ही की शेष सामग्री को डाउनलोड करना प्रारंभ डाउनलोड करने के लिए खत्म करने के लिए है कि ब्राउज़र इंतजार करेंगे।

आप यहाँ काफी विस्तार में देख सकते हैं:

http://www.stevesouders.com/blog/2009/04/09/dont-use-import/

तो, जबकि @import सुविधाजनक हो सकता है, कि सभी यह प्रदान करता है है। यदि आप वास्तव में तेज़ लोडिंग समय का लाभ लेना चाहते हैं, तो स्टाइलशीट की न्यूनतम संख्या (शायद अधिकांश मामलों में से एक) का उपयोग करें, कुशल चयनकर्ताओं (सामान्य सामान) के साथ अच्छा सीएसएस लिखें, इसे छोटा करें, और <link> टैग का उपयोग करें।

के बजाय @import (मैं जानता हूँ कि यह बहुत सुविधाजनक है), तो आप एक में फ़ाइलों को संयोजित करना चाहिए जब आपकी साइट का सीधा प्रसारण होता:


यह एक टिप्पणी होने जा रहा था, लेकिन यह बहुत लंबा हो गया । आपको वैसे भी उस बिंदु पर tweaking नहीं होना चाहिए, और इसे कम करने में मदद करने के लिए कई उपकरण हैं। व्यक्तिगत रूप से, PHP का उपयोग करके, मेरे पास एक कॉन्फ़िगरेशन फ़ाइल है जहां मैं एक अलग सीएसएस फ़ाइल (जिसे मैं <link> टैग में संदर्भित करता हूं) में लिखी गई सभी सीएसएस फ़ाइलों को परिभाषित करता हूं, फिर यदि कैश किया गया संस्करण पुराना है (या तो मैन्युअल रूप से या स्वचालित रूप से निर्धारित किया गया है), यह उन्हें जोड़ता/छोटा करता है और सामग्री को "कैश" फ़ाइल में लिखता है, और एक ताजा डाउनलोड को मजबूर करने के लिए सीएसएस फ़ाइल नाम में जोड़ने के लिए टाइमस्टैंप क्वेरी स्ट्रिंग देता है।

आप PHP उपयोग कर रहे हैं और साथ ही, मैं अत्यधिक cssmin सलाह देते हैं, यह @import के लिए स्टाइलशीट पार्स और एक फाइल में सामग्री खींच सकते हैं, साथ ही minification के सभी पहलुओं को संभाल।

+0

जानकारी के लिए धन्यवाद => – L84

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