2009-01-30 9 views
20

मैं बस सोच रहा हूँ कि दूसरों को इस संबंध में कार्य करें:सीएसएस - रंग का पृथक्करण और स्थिति

आप स्थितीय सीएसएस (लेआउट) रखने की कोशिश करते हैं रंग/स्वाद सीएसएस (रंग, पृष्ठभूमि रंग, पृष्ठभूमि से अलग -मार्ग, फ़ॉन्ट आकार और परिवार)?

दो स्टाइलशीट का उपयोग करें? दो स्टाइलशीट सर्वर-साइड को मिलाएं? सीएसएस के लिए एब्स्ट्रक्शन परत? या आप कोशिश भी नहीं करते?

मुझे कभी-कभी एक ही वेब प्रोजेक्ट पर छह महीने के लिए काम करने के बाद पता है, मैं आम तौर पर स्थितित्मक सीएसएस के साथ रह सकता हूं लेकिन रंग/छवियों को बदलने के इच्छुक हूं।

+0

एक दिलचस्प सवाल है। मैं वास्तव में यह नहीं मानूंगा ... मैं जवाब देखने की उम्मीद कर रहा हूं :) +1 –

+0

मैंने देखा कि कौन सा प्रोजेक्ट मैंने देखा है कि आपको अपने सीएसएस में चर डालने की अनुमति है? अपने खुद के रंग नामकरण की तरह? क्या वह रूबी दुनिया से बाहर आया था? शायद एक रूबीस्ट मुझे प्रबुद्ध कर सकता है। – BuddyJoe

+0

@ ब्रूनो - मुझे लगता है कि आप एसएएसएस के बारे में बात कर रहे हैं, जो एक रूबी टेम्पलेट भाषा हैएएमएल के सीएसएस समकक्ष है। सीएसएस चर और मैक्रोज़ के लिए इसका मूल समर्थन है। http://haml.hamptoncatlin.com/ –

उत्तर

11

मैं "स्थिति शैलियों" या "लेआउट शैलियों" से "रंग शैलियों" को अलग किए बिना, सभी सीएसएस को एक साथ रखना चाहता हूं। मुझे लगता है कि जब मैं अक्सर एक विशिष्ट "मॉड्यूल" डीबग करने का प्रयास करता हूं तो सभी सीएसएस नियमों को एक चयनकर्ता पर लागू करना आसान होता है, और स्टाइल शीट पर फैलता नहीं है।

हालांकि, मुझे सुझाव है कि आप thinkvitamin.com पर Creating Sexy Stylesheets पर पढ़ लें। एक चीज जो मैं करता हूं वह हर समय एक निश्चित क्रम में नियमों को सूचीबद्ध करती है, इसलिए मुझे घोषणा ब्लॉक में पता है कि मैं क्या चाहता हूं।

जिना बोल्टन के http://creatingsexystylesheets.com/

+0

ओह, और स्क्रिप्प्स (http://foodnetwork.com, http://hgtv.com) पर एक पोस्टस्क्रिप्ट के रूप में, हम कई सीएसएस फ़ाइलों को अलग-अलग रखते हैं जो वे हैं (यानी header.css, footer.css, search.css) और उन्हें उत्पादन में धक्का देने से पहले उन्हें विकास सर्वर पर संयोजित करें। –

+0

@ मार्क डब्ल्यू: आप ऐसा कोई विशेष तरीका करते हैं? मैं ऐसा करने के बारे में सोच रहा हूं, और उसके बाद इसे एक मिनीफायर के माध्यम से पास कर रहा हूं। क्या आप इसके लिए एक साधारण लिपि या पैकेज का उपयोग कर रहे हैं? – Ross

+0

मार्क, स्क्रिप्प्स वास्तव में हमारे ग्राहकों में से एक है :) छोटी दुनिया! –

0

पर अधिक जानकारी मैं एक फ़ाइल में सब कुछ रखने के लिए और एकमात्र विकल्प शैलियों के लिए अलग फ़ाइलें प्रदान (जैसे मुद्रण के लिए)।

उस फ़ाइल के भीतर मैं वास्तविक सामग्री से अलग समग्र लेआउट (स्तंभों, headeer & पाद लेख) रखने के (पैराग्राफ, शीर्षकों, सूचियों ...)

मैं सोच वस्तु उन्मुख करने के लिए इस्तेमाल कर रहा हूँ, तो मैं समूह विभिन्न वस्तुओं (मेनू, ब्लॉग पोस्ट) के लिए शैली एक साथ। उस परिप्रेक्ष्य से, रंग और स्थिति दोनों एक ही वस्तु से संबंधित हैं और इसलिए एक साथ रखा जाता है।

मैं एक शैली पत्रक में एक बार रंग को परिभाषित करने की क्षमता के लिए बधाई देने के लिए कर रहा हूँ, उन्हें एक कथात्मक नाम (जैसे 'HeadingColour') निर्दिष्ट करेंगे और जब एक चयनकर्ता के रंग बताए तो नाम का उपयोग करें ...

+0

मुझे यह शैली भी पसंद है। हो सकता है कि यह सिर्फ सीएसएस फाइलें इतनी बड़ी और बनाए रखने के लिए कठिन हो सकती हैं। मुझे लगता है कि इस सीएसएस शैली का उपयोग करने वाले कई बेहतर वर्डप्रेस थीम मुझे लगता है। (+1) – BuddyJoe

2

मैं सब कुछ एक ही फाइल में एक साथ रखें और इसे व्यवस्थित रखने के लिए CSSEdit में फ़ोल्डर सुविधा का उपयोग करें। वेब डिज़ाइन कंपनी विगेट के पास इस तकनीक here के बारे में एक ब्लॉग पोस्ट है।

+0

+1 - मैं टिप्पणी अनुभागों के साथ ऐसा कुछ करता हूं - हालांकि, मेरे पास कोई संपादक नहीं है जो इस जानकारी के साथ कुछ भी करता है। मैं एक विंडोज़/लिनक्स लड़का हूं, सीएसएसईडीआईटी जैसी कुछ प्लेटफॉर्मों के लिए? – BuddyJoe

5

आप पाएंगे कि बड़े पैमाने पर परियोजनाओं में, लेआउट और रंग/स्वाद सीएसएस (यदि आप इसके बारे में स्मार्ट हैं) आमतौर पर अलग होने लगते हैं। सबसे पहले, यदि आप अपने आप को रंग/फ़ॉन्ट आकार/फ़ॉन्ट-पारिवारिक शैली के नियमों को बार-बार सेट कर रहे हैं, तो आप अपना समय बर्बाद कर रहे हैं। आम तौर पर आपको अपने फोंट को एक ही स्थान पर परिभाषित करना चाहिए: बॉडी टैग। किसी भी अतिरिक्त फोंट को उनके संबंधित टैग में परिभाषित किया जाना चाहिए ... एच 1, एच 2, पी, आदि। मेरी राय में इन टैग को स्थितित्मक निर्देश देने के लिए अच्छा अभ्यास नहीं है; उन्हें एक div के अंदर रखा जाना चाहिए जो उनके लेआउट के लिए जिम्मेदार होगा। रंग और फ़ॉन्ट आकार के लिए ही चला जाता है। मुझे लगता है कि नियम का एकमात्र अपवाद आमतौर पर पृष्ठभूमि सामान होगा, जो विशेष रूप से सच है यदि आपके पास बहुत सारे ग्रेडियेंट और फैंसी चीजें हैं।

वास्तव में यह योजना बनाने के लिए नीचे आता है; एक अच्छी तरह से योजनाबद्ध परियोजना बहुत कम रंग/स्वाद शैली नियमों की जरूरत है। तो अपने प्रश्न का उत्तर देने के लिए, हाँ, मेरे पास आमतौर पर "Global.css" फ़ाइल होती है जो एच 1-एच 5, ए, पी, और किसी अन्य टैग के लिए मेरे सभी फ़ॉन्ट्स और रंगों को परिभाषित करती है जिसमें टेक्स्ट होगा।

संपादित करें:

आमतौर पर, के बाद से परियोजनाओं मैं में काम काफी बड़े पैमाने पर कर रहे हैं और विभिन्न मॉड्यूल की एक संख्या है, हम पदानुक्रम के एक प्रकार के साथ शैलियों अलग; सीएसएस काम करने के तरीके के कारण यह समझ में आता है - जब तक आप "आधार" (या हमारे मामले में, global.css) में शैली के नियमों को लाइन के नीचे कहीं भी नहीं बदलते हैं, शैलियों को कहीं भी नीचे रखा जाएगा चिपके रहते हैं। इससे मदद मिलती है क्योंकि जब हम अपनी साइट के फ़ॉन्ट को संशोधित करना चाहते हैं, तो हम बस "बॉडी" टैग पर फ़ॉन्ट-फ़ैमिली नियम बदलते हैं, और यह पूरी साइट पर फैल जाएगा।

तो, हमारे स्टाइलशीट लेआउट कुछ इस तरह काम करता है:

Global.css (Fonts/Text/Primary font colors) 
--> genericBase.css (basic page structures such as columns that are used throughout the site) 
--> nav.css (left-hand nav and/or top nav bar) 
--> formLayout.css (labels, inputs, fieldsets, any other form stuff) 
-----> forums.css (individual modules' styles that may deviate a bit from the usual structures, or simply things specific to those pages) 
-----> blogs.css 
-----> messages.css (etc etc etc) 

यहाँ तीर पदानुक्रम में फ़ाइलों के "आदेश" मतलब के लिए होती हैं। तीर जितना लंबा होगा, स्टाइल शीट में आगे की ओर इन नियमों के नियम होंगे, अगर हमने सभी शैलियों को एक फ़ाइल में रखा होगा।

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

तो जैसे मैंने कहा, योजना बहुत महत्वपूर्ण है। मैंने पाया है कि यह पद्धति मेरी शैलियों को "डीबग" करना आसान बनाती है, और मैं लगभग कोई हैक्स का उपयोग नहीं करता, आमतौर पर केवल मूर्खतापूर्ण यानी 6 सामान के लिए।

मुझे बताएं कि आपको अधिक जानकारी चाहिए या नहीं। मुझे खुशी है कि यह आपके लिए सहायक है।

+0

इससे मदद मिलती है। क्या आप कुछ अन्य विवरण शामिल करने के लिए अपना उत्तर अपडेट कर सकते हैं? जैसे कि यह global.css में नहीं जाता है, यह कहां जाता है? फाइलों के लिए आपके कुछ नामकरण सम्मेलन क्या हैं। – BuddyJoe

1

मैं हाल ही में मेरी लेआउट और रंग शैलियों अलग हो गए और इस प्रकार मैं अब कई सीएसएस फ़ाइलें, जो मैं आयात:

<link rel="stylesheet" type="text/css" href="style.css" media="screen" /> 
<link rel="stylesheet" type="text/css" href="style-default.css" title="Default Style" media="screen" /> 
<link rel="alternate stylesheet" type="text/css" href="style-bw.css" title="Black and White" media="screen" /> 

सभी लेआउट style.css में है, तो रंग शैली के डिफ़ॉल्ट में हैं। सीएसएस। इस तरह मेरे पास एक मानक शैली है, लेकिन उपयोगकर्ताओं के पास रंग बदलने का विकल्प भी है। यह न केवल उपयोगकर्ता के लिए विकल्प प्रदान करता है, बल्कि लेआउट को छूए बिना रंग परिवर्तन करना आसान बनाता है (मैं अपने रंगों को अधिक बार बदलता हूं)।

फ़ायरफ़ॉक्स में मेरे रंग विकल्प "पृष्ठ शैली" के अंतर्गत दृश्य मेनू में दिखाई देते हैं।

+0

+1 - मैंने पहले "वैकल्पिक स्टाइलशीट" चीज़ नहीं देखी थी। हालांकि फ़ायरफ़ॉक्स में केवल काम करता है? मैंने कुछ ब्लॉग/साइटें देखी हैं जहां वे (डेवलपर्स) स्टाइलशीट संदर्भ सर्वर-साइड बदलते हैं ताकि उपयोगकर्ता अपनी रंग योजना चुन सकें। – BuddyJoe

+0

यह वैकल्पिक स्टाइलशीट का एक बहुत अच्छा स्पष्टीकरण है। http://www.alistapart.com/articles/alternate/ – chills42

+0

वैकल्पिक स्टाइलशीट ओपेरा में भी काम करते हैं (हां, सबसे आम ब्राउज़र नहीं - लेकिन इसका मैं उपयोग करता हूं ;-) – Treb

3

मैं उन्हें अलग करता था लेकिन इसे बनाए रखना अधिक कठिन था। समस्या यह है कि कई "स्वरूपण" गुणों का लेआउट पर असर होगा और कई "लेआउट" गुण वास्तव में डिज़ाइन किए जा सकते हैं।

कुछ उदाहरण:

जबकि "सीमा" एक "स्वरूपण" संपत्ति माना जा सकता है, वे अंतरिक्ष की कुछ राशि ले ताकि आप जब स्थापित करने या सीमाओं को हटाने के अपने लेआउट समायोजित करने की आवश्यकता होगी है।

"रेखा-ऊंचाई" फ़ॉन्ट आकार से जुड़ा हुआ है और इसे "स्वरूपण" संपत्ति माना जा सकता है, लेकिन इसका आपके तत्वों के आकार पर एक बड़ा प्रभाव पड़ता है और वे एक-दूसरे को लंबवत रूप से संरेखित कैसे करते हैं।

लेआउट के लिए कभी-कभी मार्जिन और पैडिंग की आवश्यकता होती है और कभी-कभी केवल फ़ॉर्मेटिंग के लिए उपयोग की जाती है।

यदि आप इसके बारे में कठिन सोचते हैं, तो बहुत कम गुण हैं जो वास्तव में पूरी तरह से स्वरूपण या पूरी तरह से लेआउट हैं।

यह संबंधित गुणों, समूहीकृत सिर्फ एक ही फाइल में सब कुछ रखने के लिए और यह साफ रखने के लिए अपने घोषणाओं के आदेश होने से कोशिश करने के लिए अक्सर आसान होता है आदि

1

मैं अपने सीएसएस में बाहर अलग करने का पैटर्न में गिर गया है निम्नलिखित:

  • लेआउट (हेडर, पाद, लोगो - सामान्य क्रोम)
  • टाइपोग्राफी (फ़ॉन्ट, आकार, फिर से प्रयोग करने योग्य इनलाइन फ़ॉन्ट शैली)
  • विजेट

उत्तरार्द्ध श्रेणी आम तौर पर मैं फिर से उपयोग परियोजनाओं के बीच सीएसएस कोड से बना है, और आमतौर पर अपने आप में नीचे विभाजित हो जाता है:

  • फार्म (बाईं ओर संरेखित, दाएँ संरेखित, आवश्यक फ़ील्ड के लिए शैलियों, आदि)
  • ग्रिड (2-col, 4-col, आदि आदि आदि - के बारे में 20 या किस्में)
  • हैक्स (आईई/अन्य सीएसएस हैक्स)
  • अन्य सामान (AJAX विजेट, टूलबार, टिप्पणी बक्से, आदि - कुछ भी पुनः उपयोग करने योग्य)

रंगों के लिए, मैं बस एक धोखा-पत्र पाठ फ़ाइल रखता हूं। उन्हें एक अलग स्टाइलशीट में रखना शायद तभी काम करेगा यदि आप बहुत अनुशासित हैं।

1

मैंने विशेष रूप से रंगों को संभालने के लिए कक्षाओं का उपयोग करना शुरू कर दिया है।

.element {margin, गद्दी, लेआउट सामान}

.ourcolor {#some रंग}

यह वर्ग विशेषता हालांकि लंबा: < div class = "तत्व ourcolor">

हालांकि, मैं रंग का पुन: उपयोग कर सकता हूं: < अवधि वर्ग = "हमारा रंग"> कुछ पाठ

अब तक मैं इसे समायोजित रंगों को समायोजित करने के रूप में पसंद करता हूं।

1

मार्क डब्ल्यू ने बताया, Creating Sexy Stylesheets एक शानदार पढ़ा है। एक बात वे वकील करना एक ढांचे के माध्यम से स्टाइल चिंताओं को अलग है:

  • screen.css - एक स्क्रीन सीएसएस फ़ाइल या तो अपने सभी शैलियों आप स्क्रीन पर लिए इस्तेमाल किया जा करना चाहते हो सकता है, और/या आयात कर सकते हैं अतिरिक्त शैलियों, जैसे कि निम्न:
    • reset.css - एक रीसेट सीएसएस फ़ाइल का उपयोग सभी डिफ़ॉल्ट ब्राउज़र स्टाइल को "रीसेट" करने के लिए किया जा सकता है, जिससे क्रॉस-ब्राउज़र संगतता प्राप्त करना आसान हो सकता है।
    • typography.css - एक टाइपोग्राफी सीएसएस फ़ाइल आपके टाइपफेस, आकार, अग्रणी, कर्नाई, और संभवतः यहां तक ​​कि रंग भी परिभाषित कर सकती है।
    • grid.css - एक ग्रिड सीएसएस फ़ाइल में आपकी लेआउट संरचना हो सकती है (और मूल हेडर, पाद लेख और कॉलम सेट अप को परिभाषित करके, अपनी साइट के वायरफ्रेम के रूप में कार्य करें)।
  • प्रिंट।सीएसएस - एक प्रिंट सीएसएस फ़ाइल में आपकी शैलियों को शामिल किया जाएगा, जिन्हें आप मुद्रित करते समय उपयोग करना चाहते हैं।

आप इस पैटर्न का पालन करते हैं, तो रंग अपने typography.css में जाती थी, और लेआउट अपने grid.css में होगा।

+0

मैंने अपने उत्तर पर एक टिप्पणी छोड़ दी कि मेरे कैसे कंपनी एक साथ हमारी स्टाइल शीट को जोड़ती है। मैं सुझाव दूंगा कि आप अपनी उत्पादन साइटों पर एक समान अभ्यास करें, क्योंकि प्रत्येक @import एक अतिरिक्त HTTP अनुरोध है जो पृष्ठ लोड समय को धीमा कर सकता है। –

+0

+1। मुझे इन विचारों को पसंद है। मैंने अभी तक reset.css का उपयोग शुरू नहीं किया है। इसे पहले देखा हालांकि मैं इसे अपने अगले प्रोजेक्ट पर आजमा सकता हूं। – BuddyJoe

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