ตัวเลือกที่ 1
ใช้float:left
ทั้งสองdiv
องค์ประกอบและตั้งค่าความกว้าง% สำหรับองค์ประกอบทั้งสองด้วยความกว้างรวม 100%
ใช้box-sizing: border-box;
กับองค์ประกอบ div ที่ลอยอยู่ กล่องค่าขอบบังคับให้ช่องว่างภายในและขอบเป็นความกว้างและความสูงแทนที่จะขยาย
ใช้ clearfix บน<div id="wrapper">
เพื่อล้างองค์ประกอบลูกที่ลอยซึ่งจะทำให้มาตราส่วนของ wrapper เป็นความสูงที่ถูกต้อง
.clearfix:after {
content: " ";
visibility: hidden;
display: block;
height: 0;
clear: both;
}
#first, #second{
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
#wrapper {
width: 500px;
border: 1px solid black;
}
#first {
border: 1px solid red;
float:left;
width:50%;
}
#second {
border: 1px solid green;
float:left;
width:50%;
}
http://jsfiddle.net/dqC8t/3381/
ตัวเลือก 2
ใช้position:absolute
ในองค์ประกอบหนึ่งและความกว้างคงที่ในองค์ประกอบอื่น ๆ
เพิ่มตำแหน่ง: สัมพันธ์กับ<div id="wrapper">
องค์ประกอบเพื่อทำให้องค์ประกอบลูก ๆ อยู่ในตำแหน่ง<div id="wrapper">
องค์ประกอบนั้น ๆ
#wrapper {
width: 500px;
border: 1px solid black;
position:relative;
}
#first {
border: 1px solid red;
width:100px;
}
#second {
border: 1px solid green;
position:absolute;
top:0;
left:100px;
right:0;
}
http://jsfiddle.net/dqC8t/3382/
ตัวเลือก 3
ใช้display:inline-block
ทั้งสองdiv
องค์ประกอบและตั้งค่าความกว้าง% สำหรับองค์ประกอบทั้งสองด้วยความกว้างรวม 100%
และอีกครั้ง (เหมือนfloat:left
ตัวอย่าง) ใช้box-sizing: border-box;
กับองค์ประกอบ div กล่องเส้นขอบค่าบังคับให้ช่องว่างภายในและขอบเป็นความกว้างและความสูงแทนที่จะขยายออก
หมายเหตุ:องค์ประกอบแบบอินไลน์บล็อกอาจมีปัญหาการเว้นวรรคเนื่องจากได้รับผลกระทบจากช่องว่างในมาร์กอัป HTML ข้อมูลเพิ่มเติมที่นี่: https://css-tricks.com/fighting-the-space-between-inline-block-elements/
#first, #second{
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
#wrapper {
width: 500px;
border: 1px solid black;
position:relative;
}
#first {
width:50%;
border: 1px solid red;
display:inline-block;
}
#second {
width:50%;
border: 1px solid green;
display:inline-block;
}
http://jsfiddle.net/dqC8t/3383/
ตัวเลือกสุดท้ายคือการใช้ตัวเลือกการแสดงใหม่ที่ชื่อว่า flex แต่โปรดทราบว่าความเข้ากันได้ของเบราว์เซอร์อาจเข้ามาเล่น:
http://caniuse.com/#feat=flexbox
http://www.sketchingwithcss.com/samplechapter/cheatsheet.html