這篇文章主要介紹了CSS中position屬性sticky的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),常山企業(yè)網(wǎng)站建設(shè),常山品牌網(wǎng)站建設(shè),網(wǎng)站定制,常山網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,常山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
在開發(fā)移動端app時,經(jīng)常會碰到需要這樣一種情況 —— 網(wǎng)站滾動到一定高度的時候,讓一部分內(nèi)容作為navbar,也就是置頂顯示,我們一般會使用js監(jiān)聽scroll事件來實現(xiàn),但是新增的css屬性position:sticky可以簡單實現(xiàn)
我不是最后一個知道的:position: sticky
position的含義是指定位類型,取值類型可以有:static、relative、absolute、fixed、inherit和sticky,這里sticky是CSS3新發(fā)布的一個屬性。我今天重點要說的就是sticky屬性
position:sticky用法
position:sticky 被稱為粘性定位元素(stickily positioned element)是計算后位置屬性為 sticky 的元素。
簡單的理解就是:在目標(biāo)區(qū)域以內(nèi),它的行為就像 position:relative;在滑動過程中,某個元素距離其父元素的距離達到sticky粘性定位的要求時(比如top:100px);position:sticky這時的效果相當(dāng)于fixed定位,固定到適當(dāng)位置。
可以說是相對定位relative和固定定位fixed的結(jié)合
元素固定的相對偏移是相對于離它最近的具有滾動框的祖先元素,如果祖先元素都不可以滾動,那么是相對于viewport來計算元素的偏移量。
position:sticky 使用條件
1.父元素不能overflow:hidden或者overflow:auto屬性。 2.必須指定top、bottom、left、right4個值之一,否則只會處于相對定位 3.父元素的高度不能低于sticky元素的高度 4、sticky元素僅在其父元素內(nèi)生效
例子
當(dāng)鼠標(biāo)下滑到一定高度時,觸發(fā)position:sticky定位的要求,讓“流行,新款,精選”固定為距離頂部44px的地方。
css代碼
.tab-control{ position: sticky; top: 44px; }
html區(qū)域
在web開發(fā)中注意兼容性:
sticky目前仍是一個試驗性的屬性,并不是W3C推薦的標(biāo)準(zhǔn)。它之所以會出現(xiàn),也是因為監(jiān)聽scroll事件來實現(xiàn)粘性布局使瀏覽器進入慢滾動的模式,這與瀏覽器想要通過硬件加速來提升滾動的體驗是相悖的。具體情況可以看下圖,基本上可以說這個屬性使用的瀏覽器只有FireFox和iOS的Safari
感謝你能夠認真閱讀完這篇文章,希望小編分享的“CSS中position屬性sticky的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!