Расположить три div в одну строку с заданной шириной
Доброго времени суток господа!
Помогите, пожалуйста решить задачку по CSS :) Как можно сделать такое? ![]() То есть, имеется четыре div, один контейнер и три внутри. Нужно эти три расположить в одну строку, при этом, средний div должен быть по центру контейнера и иметь заданную ширину в пикселях, а левый и правый замостить остальное пространство контейнера по ширине. Что-то вроде этого <div class="container" style="width: 100%"> <div>div1</div> <div style="width="300px">div2 в центре контейнера</div> <div>div3</div> </div> Заранее благодарен за вашу помощь! |
Скоро придут люди с
display:flexи покажут как правильно сделать, но пока можете вот так:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>ГГ</title>
<style>
* {
margin:0;
padding: 0;
outline: none;
}
.container {
width: 100%;
height: 100px;
}
.container>div {
display: inline-block;
width: calc((100% - 300px)/2);
height: 100px;
background-color: red;
margin-right: -4px;
}
.container .center {
width: 300px;
background-color: green;
}
</style>
</head>
<body>
<div class="container">
<div></div>
<div class="center"></div>
<div></div>
</div>
</body>
</html>
|
EmperioAf, calc не поддерживается на телефонах. :)
Проще тогда уж так:
.container {
display: table;
table-layout: fixed;
width: 100%;
}
.container > div {
display: table-cell;
}
|
Цитата:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>ГГ</title>
<style>
* {
margin:0;
padding: 0;
outline: none;
}
.container {
display: table;
table-layout: fixed;
width: 100%;
height: 100px;
}
.container div {
display: table-cell;
background: red;
}
.container .center {
width:300px;
background: green;
}
</style>
</head>
<body>
<div class="container">
<div></div>
<div class="center"></div>
<div></div>
</div>
</body>
</html>
|
Цитата:
|
EmperioAf, Ruslan_xDD, спасибо вам огромное за помощь!
|
Цитата:
|
Цитата:
<!DOCTYPE html>
<html>
<head>
<style>
.container {
display: flex;
width: 100%;
height: 100px;
}
.container div {
flex-grow: 1;
background: red;
}
.container .center {
width: 300px;
flex-grow: 0;
background: green;
}
</style>
</head>
<body>
<div class="container">
<div></div>
<div class="center"></div>
<div></div>
</div>
</body>
</html>
|
sanmihan, буду иметь ввиду. :yes:
|
А как сверстать блоки так, чтобы при уменьшении окна, они располагались вертикально друг под другом посередине, причем при уменьшении экрана не было так, чтобы сначала уходил один блок вниз, а сразу выстраивались в вертикальную линию, как только место хотя бы для одного уже не было?
|
| Часовой пояс GMT +3, время: 01:47. |