วิธีที่เข้ากันได้มากที่สุดที่ฉันพบในการทำเช่นนี้ไม่ชัดเจนนัก คุณต้องลบลอยออกจากคอลัมน์ที่สองและนำoverflow:hidden
ไปใช้กับมัน แม้ว่าสิ่งนี้ดูเหมือนจะซ่อนเนื้อหาใด ๆ ที่อยู่นอก div แต่ก็บังคับให้ div อยู่ในระดับบนสุด
การใช้รหัสของคุณนี่คือตัวอย่างของวิธีการ:
<div style="width: 100px; float: left;">menu</div>
<div style="overflow: hidden;">content</div>
หวังว่านี่จะเป็นประโยชน์สำหรับทุกคนที่มีปัญหานี้สิ่งที่ฉันพบว่าทำงานได้ดีที่สุดสำหรับไซต์ที่ฉันสร้างหลังจากพยายามปรับให้เข้ากับความละเอียดอื่น ๆ น่าเสียดายที่วิธีนี้ใช้ไม่ได้หากคุณใส่โฟลตด้านขวาdiv
หลังเนื้อหาด้วยเช่นกันหากใครรู้วิธีที่ดีในการทำให้มันใช้งานได้ด้วยความเข้ากันได้ของ IE ที่ดีฉันยินดีเป็นอย่างยิ่งที่จะรับฟัง
ตัวเลือกใหม่ที่ดีกว่าโดยใช้ display: flex;
ตอนนี้โมเดล Flexbox ถูกนำไปใช้อย่างกว้างขวางแล้วฉันขอแนะนำให้ใช้แทนเนื่องจากช่วยให้มีความเป็นไปได้มากขึ้นflex
กับเค้าโครง นี่คือสองคอลัมน์ง่ายๆเหมือนต้นฉบับ:
<div style="display: flex;">
<div style="width: 100px;">menu</div>
<div style="flex: 1;">content</div>
</div>
และนี่คือคอลัมน์สามคอลัมน์ที่มีคอลัมน์กลางความกว้างที่ยืดหยุ่นได้!
<div style="display: flex;">
<div style="width: 100px;">menu</div>
<div style="flex:1;">content</div>
<div style="width: 100px;">sidebar</div>
</div>