您好我正在尝试使用相对位置将我的封面包裹div放在profile-top div后面。 但是,由于某种原因,它留下了封面包装div通常会出现的空白。我做错了什么?
JSFIDDLE:http://jsfiddle.net/QPZEk/1/
CSS:
#cover-wrap {
position: relative;
top: -65px;
height: 250px;
width: 470px;
background: url('https://sphotos-a.xx.fbcdn.net/hphotos-
ash3/540880_10200267172913759_929968936_n.jpg') no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
答案 0 :(得分:1)
这就是相对定位的工作原理。元素最初占用的空间仍然是从文档中雕刻出来的,因此当您调整前面元素的最高值时,它下面的元素不会向上移动。将top转换为margin-top将为您提供所需的效果。
#cover-wrap {
margin-top: -65px;
height: 250px;
width: 470px;
background: url('https://sphotos-a.xx.fbcdn.net/hphotos-ash3/540880_10200267172913759_929968936_n.jpg') no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
答案 1 :(得分:1)
我喜欢做的是给#cover-wrap的父母一个位置:亲戚。这将允许你的#cover-wrap有位置:绝对。具有position:relative的父级的子级可以具有position:absolute,这绝对会将图像放在相对区域中。
当你给div一个位置:绝对时,你将不再有这个余量。它也可以很容易地为动态元素执行此操作。
示例:
#parent {
position:relative;
}
#cover-wrap {
height: 250px;
width: 470px;
background: url('https://sphotos-a.xx.fbcdn.net/hphotos- ash3/540880_10200267172913759_929968936_n.jpg') no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
答案 2 :(得分:0)
您正在移动图像的原始位置,这会影响下面的文字。您可以添加负边距,请参阅http://jsfiddle.net/QPZEk/3/
#cover-wrap {
position: relative;
top: -65px;
margin-bottom:-65px;
height: 250px;
width: 470px;
background: url('https://sphotos-a.xx.fbcdn.net/hphotos-ash3/540880_10200267172913759_929968936_n.jpg') no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}