अप-टू-डेट समाधान (अक्टूबर 2014): द्रव लेआउट के लिए तैयार
परिचय:
यह समाधान द्वारा प्रदान किए गए से भी सरल है Leigh। यह वास्तव में इस पर आधारित है।
यहाँ आप देख सकते हैं कि मध्यम तत्व (हमारे मामले में, के साथ "content__middle"वर्ग) करता नहीं किसी भी आयामी संपत्ति निर्दिष्ट है - सभी में कोई चौड़ाई, और न ही गद्दी, और न ही मार्जिन संबंधित संपत्ति - लेकिन केवल एक overflow: auto;(नोट 1 देखें)।
बड़ा फायदा है कि अब है कि आप एक निर्दिष्ट कर सकते हैं max-widthऔर एक min-widthअपने बाएँ और सही तत्वों को । जो द्रव लेआउट के लिए शानदार है .. इसलिए उत्तरदायी लेआउट :-)
नोट 1: लेह के उत्तर के विरुद्ध जहां आपको कक्षा में margin-left& margin-rightगुण जोड़ने की आवश्यकता है "content__middle"।
गैर-द्रव लेआउट वाला कोड:
यहाँ बाएं और दाएं तत्वों (वर्गों के साथ "content__left"और "content__right") एक है निश्चित चौड़ाई इसलिए कहा जाता गैर द्रव लेआउट: (पिक्सेल में)।
Http://jsbin.com/qukocefudusu/1/edit?html,css,output पर लाइव डेमो
<style>
.content {
width: 100%;
}
.content__left {
width: 100px;
float: left;
background-color: #fcc;
}
.content__middle {
background-color: #cfc;
overflow: auto;
}
.content__right {
width: 100px;
float: right;
background-color: #ccf;
}
</style>
<div class="content">
<div class="content__left">
left div<br/>left div<br/>left div<br/>left div<br/>left div<br/>left div<br/>
</div>
<div class="content__right">
right div<br/>right div<br/>right div<br/>right div<br/>
</div>
<div class="content__middle">
middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br />bit taller
</div>
</div>
द्रव लेआउट के साथ कोड:
यहाँ बाएं और दाएं तत्वों (वर्गों के साथ "content__left"और "content__right") एक है परिवर्तनीय चौड़ाई (प्रतिशत में) लेकिन यह भी एक न्यूनतम और अधिकतम चौड़ाई: इसलिए तरल पदार्थ लेआउट कहा जाता है।
max-widthगुणों के साथ एक द्रव लेआउट में लाइव डेमो http://jsbin.com/runahoremuwu/1/edit?html,css,output
<style>
.content {
width: 100%;
}
.content__left {
width: 20%;
max-width: 170px;
min-width: 40px;
float: left;
background-color: #fcc;
}
.content__middle {
background-color: #cfc;
overflow: auto;
}
.content__right {
width: 20%;
max-width: 250px;
min-width: 80px;
float: right;
background-color: #ccf;
}
</style>
<div class="content">
<div class="content__left">
max-width of 170px & min-width of 40px<br />left div<br/>left div<br/>left div<br/>left div<br/>left div<br/>left div<br/>
</div>
<div class="content__right">
max-width of 250px & min-width of 80px<br />right div<br/>right div<br/>right div<br/>right div<br/>
</div>
<div class="content__middle">
middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br />bit taller
</div>
</div>
ब्राउज़र का समर्थन
निम्न वेब ब्राउज़र पर BrowserStack.com पर परीक्षण किया गया:
- IE7 से IE11
- एफएफ 20, एफएफ 28
- सफारी 4.0 (विंडोज़ एक्सपी), सफारी 5.1 (विंडोज़ एक्सपी)
- Chrome 20, Chrome 25, Chrome 30, Chrome 33,
- ओपेरा 20