如何制作固定位置的标题?

时间:2015-01-07 12:47:14

标签: html css

当顶部等于0%?〜时,是否可以固定标题的位置? 例如,标题顶部值从20%开始,我们向下滚动并达到0%的值然后保持固定。

我只能使用HTML / CSS。

1 个答案:

答案 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>