Варіант 1
Використовуйте float:left
на обохdiv
елементи та встановіть% ширини для обох елементів div із комбінованою загальною шириною 100%.
Використовуйте box-sizing: border-box;
на плаваючих елементах div. Значення border-box змушує прошивку і облямовує ширину та висоту, а не розширює її.
Використовуйте clearfix on, <div id="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
елементи та встановіть% ширини для обох елементів 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