โซลูชันล่าสุด (ตุลาคม 2014): พร้อมสำหรับการจัดวางแบบไหล
บทนำ:
วิธีนี้ง่ายกว่าวิธีที่มีให้ด้วยLeigh
ซ้ำ มันขึ้นอยู่กับมันจริง
ที่นี่คุณสามารถสังเกตเห็นว่าองค์ประกอบกลาง (ในกรณีของเรามี"content__middle"
ระดับ) ไม่ได้มีทรัพย์สินใด ๆ ที่ระบุมิติ - ไม่กว้างหรือ padding หรือสถานที่ให้บริการที่เกี่ยวข้องกับอัตรากำไรขั้นต้นที่ทั้งหมด - แต่เพียงoverflow: auto;
(ดูหมายเหตุ 1)
ข้อดีคือตอนนี้คุณสามารถระบุ a max-width
และ a min-width
ให้กับองค์ประกอบทางซ้ายและขวาของคุณได้แล้ว ซึ่งยอดเยี่ยมสำหรับเลย์เอาต์ของไหล .. ดังนั้นเค้าโครงที่ตอบสนอง :-)
หมายเหตุ 1: เทียบกับคำตอบของ Leigh ที่คุณต้องเพิ่ม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"
) มีความกว้างตัวแปร (เป็นเปอร์เซ็นต์) แต่ยังมีความกว้างต่ำสุดและสูงสุดด้วยเช่นกันจึงเรียกว่าเลย์เอาต์แบบไหล
Live Demo ในรูปแบบที่ลื่นไหลพร้อม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
- Ff 20, Ff 28
- Safari 4.0 (Windows XP), Safari 5.1 (Windows XP)
- Chrome 20, Chrome 25, Chrome 30, Chrome 33,
- โอเปร่า 20