सबसे पहले, अपने सीएसएस कक्षाओं को उन नामों का उपयोग न करें जो दृश्य इरादे का सुझाव देते हैं, जैसे "मिनहाइटस्टाइल"। सीएसएस के पीछे विचार का एक हिस्सा सामग्री और शैली को अलग करना है, एक सिद्ध लाभ जिसे आप प्रदर्शित करते हुए कक्षा नाम (ओं) के साथ अमान्य करने का प्रयास करते हैं। तो, यह अंगूठे का आपका पहला नियम है - यदि आप किसी तत्व को टैग करना चाहते हैं, तो आप इसे केवल स्टाइल के लिए टैग नहीं करते हैं, आप टैग को इसकी सामग्री के संबंध में दूसरों से अलग कैसे करते हैं, इस बारे में संकेत देते हैं। उदाहरण के लिए, अपने तीन div
के साथ, अगर सब तो एक जैसे हैं यह संभव उदाहरण के लिए, अपने माता पिता के बच्चों के रूप में उनका चयन किया जाना चाहिए:
#parent > div {
min-height: 300px;
}
यदि इनमें से कोई (उदाहरण के लिए) एक चयनित मेनू आइटम है
#selected {
min-height: 300px; }
सामान्य में, कारण करने के लिए संरचना के बारे में जब अपने चयनकर्ताओं को डिजाइन करने, के रूप में शैली के बारे में सोच करने के लिए विरोध का प्रयास करें:, आप इसे वर्ग "चयनित" और यह शैली के हिसाब से दे सकते हैं। यह शायद सलाह का एक टुकड़ा है जिसे आप सरल उपायों का सहारा लेते हैं, लेकिन मैं आपको आश्वासन देता हूं, यदि आप आज वेब डिज़ाइन के बारे में गंभीर हैं तो यह सबसे अच्छा निवेश है। सामग्री और शैली का पृथक्करण बिल्कुल जरूरी है, न केवल आज के एचटीएमएल और सीएसएस के साथ, यह अन्य क्षेत्रों में प्रासंगिक है।
और दूसरा, आपको याद रखना चाहिए कि आपके द्वारा लिखे गए नियमों को ब्राउज़र द्वारा स्पष्ट रूप से लागू किया जाता है - यानी आपके स्टाइलशीट के साथ आपके द्वारा ओवरराइड किए जाने वाले तत्वों को, सीएसएस के प्रति विनिर्देशों के अनुसार उनकी शैली को जो भी हो, से पुनः संयोजित किया जाना चाहिए था। यही कारण है, अगर आप (उदाहरण के लिए) के बाद चयनकर्ता के साथ सभी तत्वों की शैली को ओवरराइड करने का फैसला: ..because आप तय करते हैं कि आप ब्राउज़रों के बीच छोटे विसंगतियों के थक गए हैं अपने खुद के छोटे से मार्जिन लागू करने
* {
margin: 0; padding: 0; }
और यहां और वहां पैडिंग, और आप अपने पृष्ठों पर मार्जिन और पैडिंग के स्टील नियंत्रण चाहते हैं, तो आपको पता होना चाहिए कि ब्राउज़र उपरोक्त नियम को बाध्य करेगा (या तो शैली को फिर से और वहां पर कंप्यूटिंग करेगा, या इसे बाद में परिभाषित करेगा) पर आपके पास प्रत्येक तत्व है। इसे जानना, आपको यह तर्क देना चाहिए कि कुछ तत्वों के ऊपर नियम लागू करना बेहतर विचार है या नहीं। समान तर्क आमतौर पर पृष्ठभूमि छवियों के लिए लागू होता है - क्या तत्व के बच्चों को पृष्ठभूमि रंग लागू करना बेहतर है, या केवल तत्व के लिए (परिणाम अक्सर दृश्यमान रूप से अलग-अलग होते हैं)?
<div id="menu">
<div>Apples</div>
<div>Oranges</div>
<div>Bananas</div>
</div>
#menu > div {
background-color: brown;
}
या
#menu {
background-color: brown;
}
अपने तत्काल समस्या के रूप में, अंगूठे का एक अच्छा शासन दोनों मार्कअप और शैली सहित, कोड को कम करना है। बच्चों के लिए समान वर्ग के नाम से छुटकारा, सीएसएस वर्ग के नाम के बिना इन का चयन पूरी तरह से सक्षम है:
<div id="foo">
<div>my text in red bg</div>
<div>my text in blue bg</div>
<div>my text in grey bg</div>
</div>
#foo > div
{
min-height: 300px;
float: left;
}
#foo > div:nth-child(1)
{
color: red;
}
#foo > div:nth-child(2)
{
color: green;
}
#foo > div:nth-child(3)
{
color: blue;
}
बेशक
, वहाँ ऊपर में चीजों का चयन करने के अन्य तरीके हैं, लेकिन सिर्फ लागू करने का प्रयास सीएसएस वास्तव में काम करता है के बारे में जानकारी। विवरण से अमूर्त एक अच्छी बात है, लेकिन अनुकूलन के लिए ब्योरे के विवरण की आवश्यकता है। अपने मार्कअप को डिज़ाइन करते समय शैली के बारे में तर्क न करने का प्रयास करें - इसे टाइप करें जैसे कि लेखक (आपकी) स्टाइल हमेशा अक्षम हो जाएगा, या इसे सामग्री के साथ टैगिंग तत्वों को टाइप करें। फिर सीएसएस लागू करें, समीक्षा करें (अक्सर एक को "रैपर" की ज़रूरत होती है, लेकिन इन दिनों वेब डेवलपर्स जीवन है), और दोहराना। लेकिन सामग्री और शैली को अलग रखने की कोशिश करें - बदलते किसी को दूसरे पर कम से कम प्रभाव होना चाहिए।
मुझे यकीन नहीं है कि आपके प्राप्त डाउनवॉट क्यों हैं, यह वास्तव में एक बहुत अच्छा सवाल है। –
डुप्लिकेट - http://stackoverflow.com/questions/5045448/what-is-the-best-way-to-use-css-not-learn-but-really-use – lifetimes
कृपया पूरी तरह से पढ़ने के लिए मेरा उत्तर यहां पढ़ें क्यों '.red' स्टाइल का एक बुरा तरीका है - http://stackoverflow.com/a/16776592/1729885 –