選項1
在兩個div
元件使用float:left
並設置%的寬度爲100%的組合總寬度兩者div元素。
在浮動div元素上使用box-sizing: border-box;
。值邊框強制填充和邊框的寬度和高度,而不是展開它。
在<div id="wrapper">
上使用clearfix來清除浮動子元素,這會使包裝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
和在另一元件上一個固定的寬度。
添加位置:相對於<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
在兩個div
元件使用display:inline-block
並設置%的寬度爲100%的組合總寬度兩者div元素。
再次(與float:left
示例相同)在div元素上使用box-sizing: 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
另外:http://stackoverflow.com/questions/446060/css-two-divs-next-to-each-other – radek 2011-06-27 16:58:13
**'#包裝{顯示: 柔性; }'** – icl7126 2018-02-13 15:05:22