我想在页面末尾只看到div的一半。
我尝试应用bottom:-100px
或margin-bottom:-100px
或padding-bottom:-100px
,但无效。
我该怎么办?
这是我的JSFIDDLE:https://jsfiddle.net/cuxyrfh8/6/
div {
background: pink;
position: absolute;
height: 200px;
left: 0;
margin-left: auto;
margin-right: auto;
right: 0;
width: 400px;
border: 5px black solid;
bottom:-100px;
}
答案 0 :(得分:2)
div
正好在视口外100px。我假设你不想要那种滚动行为?您可以实现宽度overflow: hidden;
。
修改1 :
如果身体的高度大于视口,则可以设置position: relative;
以使div的位置朝向身体。
编辑2 : 如果你想在向下滚动的主体上使用halve div,你需要一个包装元素并将溢出和位置规则应用于它。
body {
margin: 0;
}
.wrapper {
height: 1000px;
overflow: hidden;
position: relative;
}
.wrapper div {
background: pink;
position: absolute;
height: 200px;
left: 0;
margin-left: auto;
margin-right: auto;
right: 0;
width: 400px;
border: 5px black solid;
bottom:-100px;
}

<div class="wrapper">
<div></div>
</div>
&#13;
答案 1 :(得分:1)
负填充不根本不起作用。使用包装元素:
<div class="wrapper">
<div class="thediv">
</div>
</div>
.wrapper {
height: 100px;
position: absolute;
left: 0;
right: 0;
bottom: 0;
overflow: hidden;
}
.thediv {
background: pink;
position: absolute;
height: 200px;
left: 0;
margin-left: auto;
margin-right: auto;
right: 0;
width: 400px;
border: 5px black solid;
top: 0;
}
<强> look here 强>
答案 2 :(得分:1)
您可以通过将元素的position
从aboslute
更改为fixed
来实现您的目标,如下所示:
div{
background:pink;
border:5px black solid;
bottom:-100px;
height:200px;
left:0;
margin:0 auto;
position:fixed;
right:0;
width:400px;
}
<div></div>
答案 3 :(得分:0)
overflow: hidden
会将div移动到底部100px,因此会出现滚动条(将显示完整的div)。
要避免在页面的body
上使用body {
overflow: hidden;
}
div {
background: pink;
position: absolute;
width: 400px;
height: 200px;
margin-left: auto;
margin-right: auto;
left: 0;
right: 0;
border: 5px black solid;
bottom: -100px;
}
div:hover {
bottom: 0px;
}
。
<div>
</div>
{{1}}