Мне нужно три элемента <div>
в одной строке.
Пример:
<div class="row">
<div class="left">
<!-- width 100% , float:left -->
</div>
<div class="center">
<!-- width 960px , margin:0 auto -->
<div class="sidebar">
<!-- width 350px , float:right -->
</div>
</div>
<div class="right">
<!-- width 100% , float:right -->
</div>
</div>
Пример изображения:
Я хочу установить тот же фон для div.right
как div.sidebar
.
css файл
.main{ background-color: #ddd;}
.left {
display: table-cell;
}
.middle {
display: table-cell;
width:100%;
}
.right {
display: table-cell;
}
html-код
<div class="main">
<div class="left"> Some content </div>
<div class="middle"> This should fill the space left </div>
<div class="right"> Some other content </div>
</div>
здесь вы идете 3 DIV в одну строку. Нажмите "Снять фрагмент кода", чтобы увидеть результат.
<div id="d3" style="display:inline-block; width:100px;">content1</div>
<div id="d3" style="display:inline-block; width:100px;">content2</div>
<div id="d3" style="display:inline-block; width:100px;">content3</div>
<div id="d1" style="display:inline-block; width:100px;">**content1**</div>
<div id="d1" style="display:inline-block; width:100px;">**content1**</div>
<div id="d3" style="display:inline-block; width:100px;">**content3**</div>
Я сделал это для вас. JSFiddle
<html>
<head>
<style>
#row{
background: grey;
width: 100%;
margin: 0;
float: left;
}
#left {
background: #ccc;
width: 60%;
float: left;
}
#right{
background: #999;
width: 40%;
float: right;
}
#content-left{
width: 70%;
float: right;
}
#right-top-wrapper{
width: 100%;
background: #666;
color: #f3f3f3;
float: left;
}
#right-top{
width: 40%;
clear: both;
}
#right-bottom{
width: 40%;
float: left;
clear: both;
}
</style>
</head>
<body>
<div id="row">
<div id="left">
<div id="content-left">
<h3>Lorem Ipsum</h3>
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laboru
</div>
</div>
<div id="right">
<div id="right-top-wrapper">
<div id="right-top">
<h3>Lorem Ipsum</h3>
"Lorem ipsum dolor sit amet, co
</div>
</div>
<div id="right-bottom">
<h3>Lorem Ipsum</h3>
"Lorem ipsum dolor sit amet, co
</div>
</div>
</div>
</body>
<html>
JSFiddle. Это решение использует функцию calc()
CSS3. Это поддерживается всеми основными браузерами, особенно в IE9.
HTML
<div id="container" class="cf">
<div id="left" class="side"></div>
<div id="center"></div>
<div id="right" class="side"></div>
</div>
CSS
#container div {
height:300px;
float:left;
}
#center {
width:960px;
background:#FFFF00;
}
.side {
width:calc(50% - 480px);
background:#FF0000;
}
(Примечание. Поскольку для этого решения требуются поплавки, я также включил взлом micro clearfix)
JSFiddle. Этот метод использует модель flexbox
CSS3. Совместимость с браузером в стороне - это мой предпочтительный подход, но это нехорошее решение, если вы хотите настроить целевые браузеры.
HTML
<div id="wrapper">
<div id="left" class="flex"></div>
<div id="center"></div>
<div id="right" class="flex"></div>
</div>
CSS
#wrapper {
display:flex;
}
#wrapper div {
height:300px;
}
.flex {
flex:1;
}
#center {
width:960px;
}
-ms-
)
Используйте встроенный стиль при отображении div:
style="display:inline"
<div class="row">
<div style="display:inline" class="left">
<!-- width 100% , float:left -->
</div>
<div style="display:inline" class="center">
<!-- width 960px , margin:0 auto -->
<div style="display:inline" 'class="sidebar">
<!-- width 350px , float:right -->
</div>
</div>
<div class="right">
<!-- width 100% , float:right -->
</div>
</div>