Я пытаюсь создать что-то вроде следующего
------------------------------------------
| div 1 |
| __________________________ |
| | div2 on top of div1/div3| |
---------|-------------------------|-------
| | div2 | |
| |_________________________| |
| div3 | | div3 |
| | div4 | |
| | | |
Это то, что у меня есть до сих пор..
<body>
<div id='div1'></div>
<div id='container'>
<div id='div2'></div>
<div id='div4'></div>
</div>
<div id='div3'></div>
</body>
css
body{
width:980px;
margin:0 auto;
position:relative;
background-color: #EEEEEE;
}
#container{
position:absolute;
top:15px;
}
#div1{
background-color: red;
height: 200px;
width: 1200px;
}
Проблема в том, что div1
должен расширять всю длину вместо 980px. Я также хочу, чтобы мои div2 и div4 находились в середине страницы. В моем css div1
будет только
-------------------------
| div 1 |
|_________________________|
| div2 on top of div1/div3|
|-------------------------|
| div2 |
|_________________________|
| |
| div4 |
| |
Может ли кто-нибудь мне помочь? Большое спасибо!
Я добавил background-color
и height
только для видимости. Идея заключалась в том, что вы можете создавать свои div1
и div3
и вы просто устанавливаете контейнер шириной 100% немного ниже относительного div1
. Затем просто добавьте div2
и div4
с меньшей относительной шириной, div4
80% в контейнер.
<div id='div1'></div>
<div id='container'>
<div id='div2'></div>
<div id='div4'></div>
</div>
<div id='div3'></div>
#container {
position: absolute;
top: 100px;
width: 100%;
}
#div1 {
background-color: red;
height: 200px;
position: relative;
}
#div2 {
background-color: blue;
height: 200px;
width: 80%;
margin: 0 auto;
}
#div3 {
background-color: green;
height: 400px;
}
#div4 {
background-color: yellow;
height: 200px;
width: 80%;
margin: 0 auto;
}
О вашем втором вопросе. К сожалению, вы не можете заставить div3
до div4
в чистом CSS, потому что контейнер вынимается из потока документов, когда вы даете ему абсолютную позицию, поэтому вы не можете создать относительное позиционирование в соответствии с ним. Однако вы можете сделать следующие взломы:
Вы должны вычислить высоты вручную. div4
высота 800px
и имеет 100px
сдвинуты так, div3
должен быть 900px
высотой. Не забудьте добавить это тоже:
body{ margin: 0px; }
Если div3
имеет цвет исправления, вы можете установить цвет своего body
с нулевым запасом:
body{
background-color: green;
margin: 0px;
}
Вы можете просто получить и установить высоту <div>
через JavaScript.