[英]3 divs positioning, two next to each other and one under them
I found a little problem. 我发现了一个小问题。 I need to create two divs next to each other and one under them. 我需要创建两个彼此相邻的div,并在它们下面创建一个。 I draw a image so I can better explain it. 我画了一幅图像,所以我可以更好地解释它。 That main DIV is #header in CSS. 该主要DIV是CSS中的#header。
So here is the html code: 因此,这是html代码:
<div id="header">
<div id="header-wrap">
<div id="div1"></div>
<div id="div2"></div>
<hr> <!-- This is that line under #div1 and #div2 -->
<div id="div3"></div>
</div>
</div>
And this is my CSS code: 这是我的CSS代码:
#header {
background-image: url("../img/header.jpg");
background-position: center center;
background-repeat: repeat-y;
height: 180px;
width: 100%;
}
#header-wrap {
text-align: center;
margin: 0 auto;
height: 140px;
width: 80%;
padding-top: 30px;
}
#div1 {
background-image: url("../img/logo.png");
background-repeat: no-repeat;
height: 80px;
margin-bottom: 20px;
}
#div2 {
}
#header hr {
border: 0;
height: 1px;
background: transparent;
background-image: -webkit-linear-gradient(left, rgba(255, 255, 255, 0), rgb(255, 255, 255), rgba(255, 255, 255, 0));
background-image: -moz-linear-gradient(left, rgba(255, 255, 255, 0), rgb(255, 255, 255), rgba(255, 255, 255, 0));
background-image: -ms-linear-gradient(left, rgba(255, 255, 255, 0), rgb(255, 255, 255), rgba(255, 255, 255, 0));
background-image: -o-linear-gradient(left, rgba(255, 255, 255, 0), rgb(255, 255, 255), rgba(255, 255, 255, 0));
}
#div3 {
}
I don't know what to add into the #div2 and #div3 so it's styled as I want. 我不知道要在#div2和#div3中添加什么,所以它的样式是我想要的。 Thanks for any help. 谢谢你的帮助。
With this CSS you can achieve it: 使用此CSS,您可以实现:
#div1 {
float: left;
background: red;
height: 80px;
width: 40%;
margin-bottom: 20px;
}
#div2 {
float: right;
background: red;
height: 80px;
width: 40%;
}
#div3 {
width: 100%;
height: 20px;
background: red;
}
#header hr {
clear: both;
...
}
#header {
background: black;
width: 100%;
}
#header-wrap {
text-align: center;
margin: 0 auto;
width: 80%;
padding: 30px 0;
}
#div1, #div2 {
float: left;
width: 48%;
height: 80px;
margin-bottom: 20px;
}
#div1 {
background: red;
margin-right: 4%;
}
#div2 {
background: blue;
}
#header hr {
border: 0;
height: 1px;
background-color: grey;
clear: both;
}
#div3 {
background: green;
height: 80px;
}
almost the same answer as the above, just floating right from what I know doesn't work in all (older) browsers. 几乎与上述答案相同,只是从我所知的范围中浮现出来,并不能在所有(较旧的)浏览器中使用。
the fiddle http://jsfiddle.net/rbHah/ 小提琴http://jsfiddle.net/rbHah/
<style type="text/css">
#header {
background-image: url("../img/header.jpg");
background-position: center center;
background-repeat: repeat-y;
height: 180px;
width: 100%;
background-color:yellow;
position:relative;
}
#header-wrap {
text-align: center;
margin: 0 auto;
height: 140px;
width: 80%;
padding-top: 30px;
background-color:green;
}
#div1 {
background-image: url("../img/logo.png");
background-repeat: no-repeat;
height: 80px;
width:50%;
margin-bottom: 20px;
float:left;
background-color:yellow;
}
#div2 {
width:50%;
height:80px;
float:left;
background-color:orange;
}
#header hr {
border: 0;
height: 1px;
background: transparent;
background-image: -webkit-linear-gradient(left, rgba(255, 255, 255, 0), rgb(255, 255, 255), rgba(255, 255, 255, 0));
background-image: -moz-linear-gradient(left, rgba(255, 255, 255, 0), rgb(255, 255, 255), rgba(255, 255, 255, 0));
background-image: -ms-linear-gradient(left, rgba(255, 255, 255, 0), rgb(255, 255, 255), rgba(255, 255, 255, 0));
background-image: -o-linear-gradient(left, rgba(255, 255, 255, 0), rgb(255, 255, 255), rgba(255, 255, 255, 0));
}
#div3 {
}
</style>
<div id="header">
<div id="header-wrap">
<div id="div1">div1</div>
<div id="div2">div2</div>
<div style="clear:both;"></div> <!--this div is verry important after floating divs! -->
<hr> <!-- This is that line under #div1 and #div2 -->
<div id="div3">div3</div>
</div>
</div>
make the first two div float to left and fixed its width then clear both at your <hr>
使前两个div向左浮动并固定其宽度,然后在<hr>
处将其清除
#div1 {
background-color:#aa6666;
float:left;
height: 80px;
width:150px;
margin-bottom: 20px;
}
#div2 {
background-color:#aaaa66;
float:left;
height: 80px;
width:150px;
margin-bottom: 20px;
}
#header hr {
border: 0;
clear: both;
/*...*/
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.