选项1
float:left
在两个div
元素上都使用,并为两个div元素设置一个总宽度为100%的%宽度。
使用box-sizing: border-box;
浮动div元素。值border-box会将填充和边框强制为宽度和高度,而不是对其进行扩展。
在上使用clearfix <div id="wrapper">
清除浮动子元素,这将使包装div缩放到正确的高度。
.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
在一个元素上使用,在另一个元素上使用固定的宽度。
添加position:相对于<div id="wrapper">
element,以使子元素绝对位于该<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
元素上都使用,并为两个div元素设置一个总宽度为100%的%宽度。
再次(与float:left
示例相同)box-sizing: border-box;
在div元素上使用。值border-box会将填充和边框强制为宽度和高度,而不是对其进行扩展。
注意:内联块元素可能会存在间距问题,因为它受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