2010-10-20 15 views
8

तीन स्तंभों को मूल कंटेनर की चौड़ाई भरनी होगी। बाएं और दाएं कॉलम की चौड़ाई 150px से कम नहीं होनी चाहिए। केंद्र कॉलम 200px चौड़ाई से अधिक नहीं होना चाहिए।3 कॉलम: अधिकतम-चौड़ाई वाली एक, न्यूनतम चौड़ाई वाले दो अन्य

मैंने a reference page बनाया है जो लेआउट करने के लिए जावास्क्रिप्ट का उपयोग करता है। क्या शुद्ध सीएसएस के साथ एक ही लेआउट करना संभव है?

screenshot http://elv1s.ru/files/html+css/min-width_max-width_columns.png

यह कम से कम आईई 8, Firefox 3.6, क्रोम 7, सफारी 5, और ओपेरा 10.63 में काम करना चाहिए।

+0

यह इस बात पर निर्भर हो सकता है कि आपको ब्राउज़र-अनुकूल कैसे होना चाहिए। –

+0

आईई, फ़ायरफ़ॉक्स, वेबकिट और ओपेरा के नवीनतम संस्करण। – NVI

उत्तर

3

मैं कोई विशेषज्ञ हूँ, लेकिन मैं बहुत यकीन है कि अगर जवाब है हां कि यह इस पृष्ठ पर है:

कि पेज (और पूरी साइट) शानदार है - यह आपको दिखाता है कि विभिन्न लेआउट (केवल सीएसएस का उपयोग करके) को कैसे प्राप्त किया जाए, और यह बताता है कि वे कैसे और क्यों काम करते हैं। यहां तक ​​कि यदि उस पृष्ठ में एक ऐसा लेआउट नहीं है जो आपके अनुरूप है, तो एक अच्छा मौका है कि पृष्ठ आपको उस दृष्टिकोण के बारे में एक अंदाजा देगा जो आपको लेने की आवश्यकता है।

इसके अलावा, शुभकामनाएँ!

+0

यह एक अच्छा पृष्ठ है, लेकिन यह मेरी समस्या को न्यूनतम चौड़ाई/अधिकतम-चौड़ाई के साथ कवर नहीं करता है। – NVI

2
<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<style type="text/css"> 
#container { max-width:960px; width:100%; min-width:400px; overflow:auto;} 
#aside { height:300px; width:40%; min-width:150px; float:left; background-color:grey; } 
#primary { height:300px; width:20%; max-width:200px; float:left; background-color:red; } 
#secondary { height:300px; width:40%; min-width:150px; float:right; background-color:grey; } 
</style> 
</head> 
<body> 
<div id="container"> 
    <div id="aside">Leftmost content</div> 
    <div id="primary">Primary content</div> 
    <div id="secondary">Secondary content</div> 
</div> 
</body> 
</html> 

इस लेआउट के बारे में कुछ बातें:

  1. मैं केवल प्रदर्शन के लिये ऊंचाई और पृष्ठभूमि निर्दिष्ट।
  2. ओवरफ्लो ऑटो फ्लोट को साफ़ करने के लिए युक्त तत्व पर है; हालांकि आप एक स्पष्ट div का भी उपयोग कर सकते हैं।
  3. कंटेनर में द्रव चौड़ाई है, लेकिन 960 पर अधिकतम हो गई है। मैं इस नंबर को मनमाने ढंग से चुनता हूं, लेकिन टेक्स्ट की रेखाएं बहुत लंबी होने से पहले तरल चौड़ाई को अधिकतम करना एक अच्छा विचार है।
  4. यदि आप कंटेनर तरल पदार्थ रखते हैं, तो लेआउट ब्रेक होगा यदि व्यूपोर्ट पर्याप्त छोटा हो। संपादित करें: मैंने कंटेनर में 400px की न्यूनतम चौड़ाई जोड़ा, इससे समस्या को ठीक करनी चाहिए।

इसके अतिरिक्त, मैं http://www.alistapart.com/articles/holygrail/ पर एक नज़र डालेगा। यद्यपि यह एक फिक्स्ड-तरल-निश्चित तीन कॉलम लेआउट का विवरण देने वाला एक लेख है, लेकिन मुझे लगता है कि वहां कुछ विचार हैं जिन्हें आप मेरे लेआउट पर सुधारने के लिए उपयोग कर सकते हैं, यदि आप इतने इच्छुक थे।

+0

जब मैं 'अधिकतम-चौड़ाई: 960px' अक्षम करता हूं तो यह ठीक से काम नहीं करता है http://elv1s.ru/i/3-columns-one-with-max-width-another-two-with-min-width-bug .png। जब # कंटेनर 1000px चौड़ाई से अधिक, #aside और # सेकेंडरी अभी भी 40% चौड़ाई। इस मामले में # कंटेनर फिट करने के लिए साइड कॉलम 40% से अधिक चौड़ाई होना चाहिए। – NVI

+0

@NV क्योंकि मध्यम कॉलम में 200px की अधिकतम चौड़ाई है और कंटेनर का 20% सेट किया गया है, जब 20% कंटेनर 200px से अधिक है, तो लेआउट विस्तार करना बंद कर देता है। आप कंटेनर की पृष्ठभूमि को मध्य कॉलम के समान सेट करके इस प्रभाव को मुखौटा कर सकते हैं।हालांकि, मैं कई परिदृश्यों की कल्पना नहीं कर सकता जहां आप 1000 से बड़े व्यूपोर्ट के लिए अनुकूलित करना चाहते हैं। – Moses

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