2010-05-14 13 views
6

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

  • , और:

    <!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> 
        <title>Testing min-width and max-width</title> 
        <style type="text/css"> 
         div{float: left; max-width: 400px; min-width: 200px;} 
         div.a{background: orange;} 
         div.b{background: gray;} 
        </style> 
        </head> 
        <body> 
        <div class="a"> 
         (Giant block of filler text here) 
        </div> 
        <div class="b"> 
         (Giant block of filler text here) 
        </div> 
        </body> 
    </html> 
    

    यहाँ मैं क्या होने की अपेक्षा है:

      ब्राउज़र को बड़ा किया साथ
    • , divs, कंधे से कंधा मिलाकर बैठना प्रत्येक 400px चौड़े वे दोनों 200px तक कम हो जाते हैं: उनकी न्यूनतम चौड़ाई
    • ब्राउज़र को और भी कम करने से ब्राउज़र पर कोई प्रभाव नहीं पड़ता

    यहाँ वास्तव में होता है, चरण 2 पर शुरू है:

    • ब्राउज़र विंडो सिकोड़ें, और जैसे ही वे अपने अधिकतम चौड़ाई में पक्ष-साथ नहीं बैठ सकते, दूसरी div नीचे चला जाता है पहले
    • इसके अलावा ब्राउज़र सिकुड़ उन्हें संकरा और संकरा हो, के रूप में छोटे रूप में मैं खिड़की

    तो यहाँ मेरा सवाल कर रहे हैं कर सकते हैं बनाता है:

    • max-width का अर्थ क्या है यदि तत्व जल्द ही लेआउट में अपनी अधिकतम चौड़ाई से कम होने की अपेक्षा करता है?
    • min-width का क्या अर्थ है यदि ब्राउज़र खिड़की की खिड़की घटती रहती है तो तत्व खुशी से कम हो जाएगा?
    • क्या मैं चाहता हूं कि हासिल करने का कोई तरीका है: क्या ये तत्व साइड-बाय-साइड बैठते हैं, जब तक वे प्रत्येक 200px तक पहुंचते हैं, और केवल लेआउट समायोजित करते हैं ताकि दूसरा ड्रॉप हो जाए?

    और निश्चित रूप से ...

    क्या मैं गलत कर रहा हूँ?

  • उत्तर

    1

    कारण "ड्रॉप डाउन" उनके मूल तत्व के बदलते आकार के कारण है (इस मामले में body)। 400 पिक्सेल या उससे अधिक की चौड़ाई के साथ उनके चारों ओर एक रैपर div रखें और आप उन्हें एक साथ बैठकर रख सकते हैं।

    +0

    दोनों के चारों ओर एक div लपेटकर इसे एक नियम दिया: 'चौड़ाई: 900 पीएक्स;'। अब वे कभी भी पक्ष में नहीं बैठते हैं। अगर यह गिर रहा था तो बाएं फ्लोट को जोड़ने का प्रयास किया। कोई परिवर्तन नहीं होता है। –

    1

    मुझे लगता है (और यह सिर्फ अपने व्यक्तिगत अनुभव से है), कि अधिकतम चौड़ाई div के अंदर सामग्री पर लागू होती है। तो यदि div के अंदर केवल 1 शब्द था, तो यह 200px चौड़ा होगा, लेकिन यदि div में 300 शब्द थे, तो चौड़ाई 400px चौड़ी होगी।

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

    http://net.tutsplus.com/tutorials/design-tutorials/quick-tip-different-layouts-for-different-widths/

    गुड लक।

    1

    कम से कम एक सा जवाब देने के लिए:

    min-width वास्तव में ब्राउज़र द्वारा पृष्ठ के लिए एक क्षैतिज स्क्रॉल पट्टी दिखाना चाहिए के बारे में है।

    जबकि प्रयोग तैरता केवल वास्तव में अच्छी तरह से काम वे एक width सेट है जब, तो मैं एक न्यूनतम और अधिकतम चौड़ाई सेट के साथ एक माता पिता div का उपयोग करें और बच्चे divs को width: 50% जोड़ना होगा। यह divs बदलते लेआउट के अलावा आपकी सभी समस्याओं को हल करता है। इसके लिए मैं शायद जावास्क्रिप्ट का उल्लेख करूंगा।

    <!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> 
        <title>Testing min-width and max-width</title> 
        <style type="text/css"> 
         div.cont {max-width: 700px; min-width: 400px;} 
         div.a, div.b {float: left; width: 50%; } 
         div.a{background: orange;} 
         div.b{background: gray;} 
        </style> 
        </head> 
        <body> 
         <div class="cont"> 
        <div class="a"> 
         Morbi malesuada nulla nec purus convallis consequat... 
        </div> 
        <div class="b"> 
         Vivamus id mollis quam. Morbi ac commodo nulla... 
        </div> 
        </div> 
        </body> 
    </html> 
    
    संबंधित मुद्दे