在開發移動端app時,常常會碰到須要這樣一種狀況 —— 網站滾動到必定高度的時候,讓一部份內容做爲navbar,也就是置頂顯示,咱們通常會使用js監聽scroll事件來實現,可是新增的css屬性position:sticky能夠簡單實現css
position的含義是指定位類型,取值類型能夠有:static、relative、absolute、fixed、inherit和sticky,這裏sticky是CSS3新發布的一個屬性。我今天重點要說的就是sticky屬性html
當鼠標下滑到必定高度時,觸發position:sticky定位的要求,讓「流行,新款,精選」固定爲距離頂部44px的地方。 web
css代碼小程序
.tab-control{
position: sticky;
top: 44px;
}
複製代碼
<tab-control class="tab-control" :titles="['流行','新款','精選']"></tab-control>
複製代碼
sticky目前還是一個試驗性的屬性,並非W3C推薦的標準。它之因此會出現,也是由於監聽scroll事件來實現粘性佈局使瀏覽器進入慢滾動的模式,這與瀏覽器想要經過硬件加速來提高滾動的體驗是相悖的。具體狀況能夠看下圖,基本上能夠說這個屬性使用的瀏覽器只有FireFox和iOS的Safari瀏覽器
1.sticky不會觸發BFC,bash
2.z-index無效,app
3.當父元素的height:100%時,頁面滑動到必定高度以後sticky屬性會失效。佈局
4.IE低版本不支持sticky的使用學習
sticky是能夠再小程序端生效的! 親測這個屬性在自定義導航時特別適用網站