2011-05-26 9 views
6

मैं कोडिंग के साथ-साथ सीएसएस की दुनिया में नया हूं और यह पहला पृष्ठ है जिसे मैंने कभी एक साथ रखा है जिसके लिए मुझे नकारात्मक मानों का उपयोग करने की आवश्यकता है। मुझे कुछ समय पहले पढ़ना याद है कि नकारात्मक मूल्यों का उपयोग करने से दूर रहना सर्वोत्तम है। मुझे यकीन नहीं है कि क्यों मैं उस लेख को और अधिक नहीं ढूंढ सकता।सीएसएस में नकारात्मक मूल्यों का उपयोग स्वीकार्य है?

मैं नीचे दिए गए कोड में नकारात्मक मानों के उपयोग पर आपकी प्रतिक्रिया की सराहना करता हूं। मैंने किसी भी ढांचे या इस तरह से उपयोग करने से बचा है ताकि मैं सीएसएस कोडिंग के बारे में अवधारणा को समझ सकूं।

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

कोड

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <meta http-equiv="Content-Language" content="en-us" /> 

    <meta name="keywords" content="" /> 
    <meta name="description" content="" /> 
    <meta name="author" content="" /> 

    <title>Sample</title> 


    <link rel="icon" type="image/png" href="" /> 

    <link rel="stylesheet" type="text/css" href="" /> 

    <style type="text/css" media="all"> 

    @import url('http://meyerweb.com/eric/tools/css/reset/reset.css'); 

    body { 

     font-family: Georgia; 
     font-size: 1em; 

    } 

    #wrapper { 

     /* background-color: #FAEBD7; */ 
     width: 960px; 
     margin: 0px auto; 

    } 

    #innerwrapper { 

     /* background-color: #CDC0B0; */ 
     overflow: auto; 

    } 

    #header { 

     /* background-color: #8B8378; */ 

    } 

    #logo { 

     background-color: #000000; 
     float: left; 
     width: 100px; 
     height: 70px; 
     color: #ffffff; 
     text-align: center; 
     padding-top: 30px; 

    } 

    #topnav { 

     /* background-color: #8B8970; */ 
     float: right; 
     margin-top: 50px; 
     width: 300px; 
     text-align: right; 


    } 

    #status { 

     /* background-color: #808080; */ 
     width: 100px; 
     position: relative; 
     top: -80px; 
     left: 800px; 
     text-align: center; 
    } 

    #topnav ul { 

     word-spacing: 5px; 

    } 

    #topnav ul li { 

     display: inline; 

    } 

    #separator { 

     border-bottom: 1px dashed gray; 
     margin-top: 20px; 

    } 

    #content { 

     /* background-color: #68838B; */ 
     overflow: hidden; 
     margin-top: 60px; 

    } 

    #innercontent { 

     /* background-color: #778899; */ 
     float: left; 
     width: 600px; 

    } 

    #rightcol { 

     /* background-color: #CDCDB4; */ 
     float: right; 
     width: 300px; 

    } 

    #rightcol p + p { 

     margin-top: 1em; 

    } 

    #footer { 

     /* background-color: #CDB7B5; */ 
     margin-top: 20px; 

    } 

    </style> 
</head> 

<body> 
    <div id="wrapper"> 
     <div id="innerwrapper"> 
      <div id="header"> 

       <div id="logo">logo</div> 

       <div id="topnav"> 
        <ul> 
         <li>about</li> 
         <li>browse</li> 
         <li>join</li> 

         <li>faq</li> 
         <li>contact</li> 
        </ul> 
       </div> 

       <div id="status">login</div> 

      </div> 
     </div> 

     <div id="separator"></div> 


     <div id="content"> 
      <div id="innercontent"> 
       Lorem ipsum dolor sit amet, at elementum neque vestibulum sollicitudin semper neque, vitae metus. Nibh ligula mi. Faucibus rutrum elit turpis, nec congue quam ipsum felis neque et, wisi amet, architecto eros congue. Maecenas suspendisse tellus arcu eget pharetra, rhoncus aenean sapien morbi nec arcu, vivamus aliquet lorem amet at, vestibulum purus sociis varius id. Imperdiet id magnis turpis beatae aliquet, vestibulum dolor nec eget eu cras lobortis, vel rerum, risus sed et, libero et non eros commodo. Taciti eu leo sollicitudin malesuada, nibh duis amet aenean, odio aptent ultrices. Tristique morbi nunc ullamcorper ut curabitur. Et a in ut sem varius, sem rutrum vehicula sem sed, at diam amet erat vel. Et sit in ante felis vitae sit. 

       Quam eget sed elit natoque velit, enim mauris mauris urna, integer amet tellus illo ipsum, dolor fermentum cursus enim mollis tristique porttitor. Non dignissim. Sit ligula leo tincidunt, justo ut ut placerat quisque non, risus nonummy. Ultrices mauris congue aliquam aliquam felis, at placerat, amet vestibulum dictumst pellentesque iaculis risus. Sem sed impedit nullam ultrices lorem aliquam, nulla tellus consequatur in ornare magna. Viverra amet pede in in ornare eu, id arcu. Justo mus suspendisse praesent et, amet mattis convallis ullamcorper felis, fermentum nibh at ac, ullamcorper ipsum auctor et maecenas, aliquam molestiae in qui. Massa elit suspendisse penatibus molestie libero dolor, non leo vitae, sollicitudin a, platea tristique iaculis, tortor augue non est. Ante rutrum quis pellentesque lacinia convallis non, vestibulum nibh nunc luctus nibh a, in amet, iaculis dui ornare pede laoreet eu. Cursus integer vehicula quis, justo eget purus mattis donec vestibulum nunc, nunc vel eros lectus. 
      </div> 


      <div id="rightcol"> 
       <p>paragraph1</p> 
       <p>paragraph2</p> 
      </div> 


     </div> 

     <div id="footer">footer</div> 

    </div> 
</body> 
</html> 

संपादित करें - Updated कोड WDM के सुझाव के अनुसार

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <meta http-equiv="Content-Language" content="en-us" /> 

    <meta name="keywords" content="" /> 
    <meta name="description" content="" /> 
    <meta name="author" content="" /> 

    <title>Sample</title> 

    <link rel="icon" type="image/png" href="" /> 

    <link rel="stylesheet" type="text/css" href="" /> 

    <style type="text/css" media="all"> 

    @import url('http://meyerweb.com/eric/tools/css/reset/reset.css'); 

    body { 

     font-family: Georgia; 
     font-size: 1em; 

    } 

    #wrapper { 

     /* background-color: #FAEBD7; */ 
     width: 960px; 
     margin: 0px auto; 

    } 

    #innerwrapper { 

     /* background-color: #CDC0B0; */ 
     overflow: auto; 

    } 

    #header { 

     /* background-color: #8B8378; */ 

    } 

    #logo { 

     background-color: #000000; 
     float: left; 
     width: 100px; 
     height: 70px; 
     color: #ffffff; 
     text-align: center; 
     padding-top: 30px; 

    } 

    #status { 

     /* background-color: #808080; */ 
     position: relative; 
     top: -85px; 
     left: 780px; 
     width: 100px; 
     text-align: center; 

    } 

    #topnav { 

     /* background-color: #8B8970; */ 
     float: right; 
     width: 300px; 
     margin-top: -70px; 
     text-align: right; 


    } 

    #topnav ul { 

     word-spacing: 5px; 

    } 

    #topnav ul li { 

     display: inline; 

    } 

    #separator { 

     border-bottom: 1px dashed gray; 
     margin-top: 20px; 

    } 

    #content { 

     /* background-color: #68838B; */ 
     overflow: hidden; 
     margin-top: 60px; 

    } 

    #innercontent { 

     /* background-color: #778899; */ 
     float: left; 
     width: 600px; 

    } 

    #rightcol { 

     /* background-color: #CDCDB4; */ 
     float: right; 
     width: 300px; 

    } 

    #rightcol p + p { 

     margin-top: 1em; 

    } 

    #footer { 

     /* background-color: #CDB7B5; */ 
     margin-top: 20px; 

    } 

    </style> 
</head> 

<body> 
    <div id="wrapper"> 
     <div id="innerwrapper"> 
      <div id="header"> 
       <div id="logo">logo</div> 

       <div id="status">Logged in</div> 

       <div id="topnav"> 
        <ul> 
         <li>about</li> 
         <li>browse</li> 
         <li>join</li> 
         <li>faq</li> 
         <li>contact</li> 
        </ul> 
       </div> 

      </div> 
     </div> 

     <div id="separator"></div> 

     <div id="content"> 
      <div id="innercontent"> 
       Lorem ipsum dolor sit amet, at elementum neque vestibulum sollicitudin semper neque, vitae metus. Nibh ligula mi. Faucibus rutrum elit turpis, nec congue quam ipsum felis neque et, wisi amet, architecto eros congue. Maecenas suspendisse tellus arcu eget pharetra, rhoncus aenean sapien morbi nec arcu, vivamus aliquet lorem amet at, vestibulum purus sociis varius id. Imperdiet id magnis turpis beatae aliquet, vestibulum dolor nec eget eu cras lobortis, vel rerum, risus sed et, libero et non eros commodo. Taciti eu leo sollicitudin malesuada, nibh duis amet aenean, odio aptent ultrices. Tristique morbi nunc ullamcorper ut curabitur. Et a in ut sem varius, sem rutrum vehicula sem sed, at diam amet erat vel. Et sit in ante felis vitae sit. 

       Quam eget sed elit natoque velit, enim mauris mauris urna, integer amet tellus illo ipsum, dolor fermentum cursus enim mollis tristique porttitor. Non dignissim. Sit ligula leo tincidunt, justo ut ut placerat quisque non, risus nonummy. Ultrices mauris congue aliquam aliquam felis, at placerat, amet vestibulum dictumst pellentesque iaculis risus. Sem sed impedit nullam ultrices lorem aliquam, nulla tellus consequatur in ornare magna. Viverra amet pede in in ornare eu, id arcu. Justo mus suspendisse praesent et, amet mattis convallis ullamcorper felis, fermentum nibh at ac, ullamcorper ipsum auctor et maecenas, aliquam molestiae in qui. Massa elit suspendisse penatibus molestie libero dolor, non leo vitae, sollicitudin a, platea tristique iaculis, tortor augue non est. Ante rutrum quis pellentesque lacinia convallis non, vestibulum nibh nunc luctus nibh a, in amet, iaculis dui ornare pede laoreet eu. Cursus integer vehicula quis, justo eget purus mattis donec vestibulum nunc, nunc vel eros lectus. 
      </div> 

      <div id="rightcol"> 
       <p>paragraph 1</p> 
       <p>paragraph 2</p> 
      </div> 

     </div> 

     <div id="footer">footer</div> 
    </div> 
</body> 
</html> 
+0

नकारात्मक मूल्य पूरी तरह से स्वीकार्य हैं हालांकि मैं उन्हें कम से कम उपयोग करूँगा। वे निश्चित रूप से कुछ स्थितियों में उपयोगी हैं। – wdm

+1

@wdm - वे किस स्थितियों के लिए उपयोगी हैं? क्या मेरा नकारात्मक मूल्य स्वीकार्य है? – PeanutsMonkey

+0

http://stackoverflow.com/questions/1623163/is-negative-margin-or-padding-invalid-css-according-to-w3c का संभावित डुप्लिकेट? –

उत्तर

2

मुझे यहां मेरी टिप्पणियों को एक उत्तर में समेकित करने दें।

पहला: नकारात्मक मान पूरी तरह स्वीकार्य हैं हालांकि मैं उन्हें कम से कम उपयोग करूँगा। वे निश्चित रूप से कुछ स्थितियों में उपयोगी हैं

HTML मार्कअप को आपके पृष्ठ के दृश्य प्रवाह का पालन करना चाहिए। मैं मूल रूप से इच्छित तरीके से नकारात्मक मार्जिन का उपयोग नहीं करता। तत्वों को ओवरले करने पर एक आम उपयोग होता है। पूर्व: http://jsfiddle.net/wdm954/jwBzv

मैं अपने शीर्ष मेनू कोड को कैसे ठीक करूं? मैं लपेट होगा #status और #topnav इस तरह के भीतर अपने UL ...

<div id="topnav"> 
    <div id="status">Logged in</div> 
    <ul> 
     <li>about</li> 
     <li>browse</li> 
     <li>join</li> 
     <li>faq</li> 
     <li>contact</li> 
    </ul> 
</div> 

और सीएसएस के लिए इन पंक्तियों के साथ कुछ का उपयोग करें ...

#topnav { 
    float: right; 
} 
#topnav #status { 
    text-align: center; 
    margin-bottom: 15px; 
} 
#topnav li { 
    display: inline; 
    margin-left: 15px; 
} 

यहाँ डेमो है: http://jsfiddle.net/wdm954/RwEWN/3/

उम्मीद है की यह मदद करेगा!

+0

धन्यवाद। मैंने इसके बारे में क्यों नहीं सोचा? इससे मुझे निश्चित रूप से मुझे जिस तरह से कोड करना चाहिए, सोचने में मदद मिली। हालांकि मुझे उम्मीद है कि जब आप नकारात्मक मूल्य उपयोगी होते हैं और जब मुझे उनका उपयोग करना चाहिए तो आप विस्तार कर सकते हैं? – PeanutsMonkey

+0

@ पनीट्समोन्की मैं केवल आवश्यक होने पर नकारात्मक मार्जिन का उपयोग करता हूं। मुझे लगता है कि जब तक आप किसी समस्या में भाग नहीं लेते, तब तक उनका उपयोग करने से बचना बेहतर होता है जहां नकारात्मक मार्जिन एकमात्र उचित समाधान है। इस तरह मैं कम से कम इसके बारे में सोचता हूं। सुविधा पर लालित्य कोडिंग के लिए गोली मारो। – wdm

+0

आपकी सभी मदद और सलाह के लिए धन्यवाद। – PeanutsMonkey

3

नकारात्मक मूल्यों बहुत शक्तिशाली है जब सही ढंग से इस्तेमाल किया जा सकता है। नकारात्मक मूल्यों का उपयोग करने में कोई समस्या नहीं है।

+0

धन्यवाद। क्या मेरे उदाहरण में ऋणात्मक मूल्य का उपयोग उपयुक्त है? इसके अलावा अन्य स्थितियों में वे स्वीकार्य हैं? – PeanutsMonkey

+0

@ पनीट्समोन्की: यह ठीक है। नकारात्मक मूल्यों का उपयोग करने के लिए यह मूल रूप से हमेशा स्वीकार्य है। इस बारे में चिंता मत करो। – Marcin

+0

@ मार्सिन - डब्ल्यू 3 सी द्वारा निर्धारित दिशानिर्देशों के आधार पर, ऐसा लगता है कि पैडिंग के लिए नकारात्मक मानों का उपयोग करना स्वीकार्य नहीं है। – PeanutsMonkey

0

मैं नकारात्मक मार्जिन का उपयोग करने से दूर रहूंगा क्योंकि वे भ्रमित और समझने में मुश्किल हो सकते हैं, लेकिन स्थिति के लिए नकारात्मक मूल्यों का उपयोग करना (जैसा आपने किया है) सामान्य और पूरी तरह से स्वीकार्य है!

आप पैडिंग के लिए नकारात्मक मानों का उपयोग नहीं कर सकते हैं।

+0

धन्यवाद। जब आप कहते हैं कि 'वे भ्रमित और समझने में मुश्किल हो सकते हैं', तो आपका क्या मतलब है? तो मैं इसे लेता हूं कि गुण 'स्थिति', 'मार्जिन' और 'पैडिंग' एक-दूसरे के लिए अद्वितीय हैं यानी 'स्थिति' 'मार्जिन 'या' पैडिंग 'जैसी नहीं है? – PeanutsMonkey

+1

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

+0

धन्यवाद। मेरे कोड पर टिप्पणी करने के लिए यह एक सहायक युक्ति है कि मैंने ऐसा क्यों किया। – PeanutsMonkey

0

यदि यह आपको वह परिणाम देता है जिसे आप ढूंढ रहे हैं, तो निश्चित रूप से, नकारात्मक मानों में कोई समस्या नहीं है। वास्तव में उनके बारे में स्वाभाविक रूप से बुरा कुछ भी नहीं है। वे स्थिति को चीजों को अधिक आसान बना सकते हैं।

+0

धन्यवाद। हालांकि वे स्थिति को आसान बनाते हैं, क्या यह अनुशंसित या निराश है? अगर उत्तरार्द्ध वह क्यों है? – PeanutsMonkey

+0

@ पनीट्समोन्की: इसके खिलाफ कोई भी अंत नहीं है, और इसके बारे में मैंने कभी भी निराश होने के बारे में कभी नहीं सुना है। यदि आप अन्यथा बहस करने वाले ठोस सबूत पा सकते हैं, तो कृपया साझा करें, लेकिन इस बीच, मैं उन लोगों का उपयोग करना जारी रखूंगा जहां मैं जरूरी देखता हूं। –

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