2022-06-18 分類(lèi): 網(wǎng)站建設(shè)
sticky 英文字面意思是粘,粘貼,所以姑且稱(chēng)之為粘性定位。下面就來(lái)了解下這個(gè)處于實(shí)驗(yàn)性的取值的具體功能及實(shí)用場(chǎng)景。
這是一個(gè)結(jié)合了 position:relative 和 position:fixed 兩種定位功能于一體的特殊定位,適用于一些特殊場(chǎng)景。
IOS 家族(SAFARI && IOS SAFARI)和 Firefox 很早開(kāi)始就支持 position:sticky 了。而 Chrome53~55 則需要啟用實(shí)驗(yàn)性網(wǎng)絡(luò)平臺(tái)功能才行。其中 webkit 內(nèi)核的要添加上私有前綴 -webkit-。
簡(jiǎn)單描述下生效過(guò)程,因?yàn)樵O(shè)定的閾值是 top:0 ,這個(gè)值表示當(dāng)元素距離頁(yè)面視口(Viewport,也就是fixed定位的參照)頂部距離大于 0px 時(shí),元素以 relative 定位表現(xiàn),而當(dāng)元素距離頁(yè)面視口小于 0px 時(shí),元素表現(xiàn)為 fixed 定位,也就會(huì)固定在頂部。
生效規(guī)則
position:sticky 的生效是有一定的限制的,總結(jié)如下:
須指定 top, right, bottom 或 left 四個(gè)閾值其中之一,才可使粘性定位生效。否則其行為與相對(duì)定位相同。
并且 top 和 bottom 同時(shí)設(shè)置時(shí),top 生效的優(yōu)先級(jí)高,left 和 right 同時(shí)設(shè)置時(shí),left 的優(yōu)先級(jí)高。
設(shè)定為 position:sticky 元素的任意父節(jié)點(diǎn)的 overflow 屬性必須是 visible,否則 position:sticky 不會(huì)生效。
如果 position:sticky 元素的任意父節(jié)點(diǎn)定位設(shè)置為 overflow:hidden,則父容器無(wú)法進(jìn)行滾動(dòng),所以 position:sticky 元素也不會(huì)有滾動(dòng)然后固定的情況。
如果 position:sticky 元素的任意父節(jié)點(diǎn)定位設(shè)置為 position:relative | absolute | fixed,則元素相對(duì)父元素進(jìn)行定位,而不會(huì)相對(duì) viewprot 定位。
達(dá)到設(shè)定的閥值。這個(gè)還算好理解,也就是設(shè)定了 position:sticky 的元素表現(xiàn)為 relative 還是 fixed 是根據(jù)元素是否達(dá)到設(shè)定了的閾值決定的。
分享文章:使用 position:sticky 實(shí)現(xiàn)粘性布局
分享路徑:http://jinyejixie.com/news/168691.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、微信公眾號(hào)、網(wǎng)站設(shè)計(jì)公司、關(guān)鍵詞優(yōu)化、網(wǎng)站營(yíng)銷(xiāo)、小程序開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容