Option 1
Utilice float:left
bei beiden div
Elemente und setzen Sie eine %-Breite für beide div-Elemente mit einer kombinierten Gesamtbreite von 100 %.
Utilice box-sizing: border-box;
auf den schwebenden Div-Elementen. Der Wert border-box zwingt das Padding und die Ränder in die Breite und Höhe, anstatt sie zu erweitern.
Verwenden Sie clearfix auf dem <div id="wrapper">
um die schwebenden untergeordneten Elemente zu löschen, wodurch das Wrapper-Div auf die richtige Höhe skaliert wird.
.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/
Option 2
Utilice position:absolute
auf einem Element und eine feste Breite auf dem anderen Element.
Position:relativ hinzufügen zu <div id="wrapper">
Element zu machen, um untergeordnete Elemente absolut an die <div id="wrapper">
Element.
#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/
Option 3
Utilice display:inline-block
bei beiden div
Elemente und setzen Sie eine %-Breite für beide div-Elemente mit einer kombinierten Gesamtbreite von 100 %.
Und wieder (wie bei float:left
Beispiel) verwenden box-sizing: border-box;
auf die div-Elemente. Der Wert border-box zwingt das Padding und die Ränder in die Breite und Höhe, anstatt sie zu erweitern.
HINWEIS: Inline-Block-Elemente können Abstandsprobleme haben, da sie von Leerzeichen im HTML-Markup beeinflusst werden. Weitere Informationen finden Sie hier: 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/
Eine letzte Möglichkeit wäre die Verwendung der neuen Anzeigeoption namens flex, aber beachten Sie, dass dabei die Browserkompatibilität ins Spiel kommen könnte:
http://caniuse.com/#feat=flexbox
http://www.sketchingwithcss.com/samplechapter/cheatsheet.html
35 Stimmen
#wrapper { display: flex; }