看看这张图片......
所有方框都是div。我怎么能这样定位他们?这是我到目前为止所得到的......
#container{
position:relative;
padding:25px;
}
#div1 {
float:left;
margin-left: 50px;
margin-top: 50px;
width: 300px;
padding:25px;
}
#div2 {
clear:both;
margin-left: 50px;
width: 300px;
padding:25px;
}
#div3 {
float:right;
margin-right: 50px;
margin-top: -100px;
width: 300px;
padding:25px;
}
使用上面的代码..div1和div2以某种方式正确定位。但div3位于页面的下半部分。
答案 0 :(得分:0)
我会float:right
div3并在你的HTML中首先使用它然后只让div1和div2浮动。
答案 1 :(得分:0)
...或者你可以将div1和div2包装在它自己的包中,然后浮动它。
答案 2 :(得分:0)
将左侧div包裹在一列中。所以你的标记看起来像这样:
<div id="container">
<div id="main">
<div id="div1">div1</div>
<div id="div2">div2</div>
</div>
<div id="div3">div3</div>
</div>
然后你的css看起来像这样:
#container{
position:relative;
padding:25px;
}
#main {
float:left;
width:100px;
}
#div1 {
padding:25px;
}
#div2 {
padding:25px;
}
#div3 {
float:right;
width: 100px;
padding:25px;
}
这是一个摆弄的例子:http://jsfiddle.net/neilheinrich/ez2rQ/
答案 3 :(得分:0)
不需要添加额外div的替代方法是在div3
上使用绝对定位,并在container
上使用额外填充为div3
创建空间。
请参阅此处的小提琴:http://jsfiddle.net/y2fJS/
CSS:
div {
border: 1px solid blue;
}
#container{
position:relative;
border-color: green;
padding: 50px 200px 50px 50px; /* right padding (150) should include div3 width+padding+margin */
}
#div1 {
padding:25px;
}
#div2 {
padding:25px;
}
#div3 {
position: absolute;
top: 50px;
right: 50px;
width: 50px;
padding:25px;
}
编辑:我忘了提到的一个问题是,绝对定位的div3
将不再对外部div的高度做出贡献。所以,如果你有一个很长的div3
,如果没有一些额外的诡计,这可能行不通。
答案 4 :(得分:-1)
此处看起来像是您的图片,但我建议您查看网站设计http://www.cssplay.co.uk/等网站。
<html>
<head>
<title>Div Positioning</title>
<style type='text/css'>
#div1
{
position: absolute;
top: 25px;
left: 25px;
height: 200px;
width: 200px;
border: 1px solid red;
}
#div2
{
position: absolute;
top: 250px;
left: 25px;
height: 200px;
width: 200px;
border: 1px solid red;
}
#div3
{
position: absolute;
top: 25px;
left: 250px;
height: 425px;
width: 300px;
border: 1px solid red;
}
</style>
</head>
<body>
<div id='div1'></div>
<div id='div2'></div>
<div id='div3'></div>
</body>
</html>