当顶部等于0%?〜时,是否可以固定标题的位置? 例如,标题顶部值从20%开始,我们向下滚动并达到0%的值然后保持固定。
我只能使用HTML / CSS。
答案 0 :(得分:0)
是的,这可能是新的建议属性position: sticky;
目前仅在Firefox中支持并在Safari中加前缀。有关浏览器支持的详细信息,请参阅Caniuse。
来自W3C:
一个粘性定位的盒子的位置与相对定位的盒子的位置相似,但偏移量是参考最近的带有滚动框的祖先计算的,如果没有祖先有一个滚动框则计算视口。
具体地说,一旦根据正常流量布置了盒子或浮动,其粘性偏移量如下所述计算。以这种方式偏移框(B1)对随后的框(B2)没有影响:B2被给予一个位置,就好像B1没有偏移并且在施加B1的偏移之后B2没有被重新定位。这意味着粘性定位可能导致盒子重叠。但是,如果粘性定位导致'溢出:自动'或'溢出:滚动'框溢出,则用户代理必须允许用户访问此内容(在其偏移位置),这通过创建滚动机制,可能会影响布局。
<强> JSFiddle Example 强>
html, body {
margin: 0;
}
body * {
margin: 20px;
padding: 20px;
}
.header {
margin: 0;
padding: 20px;
background: #000;
}
.header span {
display: block;
color: #fff;
margin: 0 auto;
text-align: center;
padding: 0;
}
.placeholder {
border: 1px solid black;
margin: 0 auto;
text-align: center;
height: 300px;
}
.slider {
background: #006264;
color: white;
font-weight: bold;
margin: 0 auto;
position: sticky;
top: 0px;
}
<div class="header"><span>This is a header</span></div>
<div class="placeholder">This div holds place</div>
<div class="slider">This should slide up and then stick.</div>
<div class="placeholder">This div holds place</div>
<div class="placeholder">This div holds place</div>
<div class="placeholder">This div holds place</div>
<div class="placeholder">This div holds place</div>