欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

CSS使用position:sticky 實現(xiàn)粘性布局的方法

  發(fā)布時間:2018-01-31 14:33:50   作者:風雨后見彩虹   我要評論
這篇文章主要介紹了CSS使用position:sticky 實現(xiàn)粘性布局的方法的相關資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

簡介

前面寫了一篇文章講解了position常用的幾個屬性:《CSS基礎篇-- position屬性講解

一般都知道下面幾個常用的:

{
position: static;
position: relative;
position: absolute;
position: fixed;
}

https://developer.mozilla.org/zh-CN/docs/Web/CSS/position還說了下面這三個值:

/* 全局值 */
position: inherit;
position: initial;
position: unset;

估計大部分都沒有用過position:sticky吧。這個屬性值還在試驗階段。怎樣描述它呢?

初窺 position:sticky

sticky 英文字面意思是粘,粘貼,所以姑且稱之為粘性定位。下面就來了解下這個處于實驗性的取值的具體功能及實用場景。

這是一個結合了 position:relative 和 position:fixed 兩種定位功能于一體的特殊定位,適用于一些特殊場景。

什么是結合兩種定位功能于一體呢?

元素先按照普通文檔流定位,然后相對于該元素在流中的 flow root(BFC)和 containing block(最近的塊級祖先元素)定位。

而后,元素定位表現(xiàn)為在跨越特定閾值前為相對定位,之后為固定定位。

這個特定閾值指的是 top, right, bottom 或 left 之一,換言之,指定 top, right, bottom 或 left 四個閾值其中之一,才可使粘性定位生效。否則其行為與相對定位相同。

sticky:對象在常態(tài)時遵循常規(guī)流。它就像是relativefixed的合體,當在屏幕中時按常規(guī)流排版,當卷動到屏幕外時則表現(xiàn)如fixed。該屬性的表現(xiàn)是現(xiàn)實中你見到的吸附效果。

常用場景:當元素距離頁面視口(Viewport,也就是fixed定位的參照)頂部距離大于 0px 時,元素以 relative 定位表現(xiàn),而當元素距離頁面視口小于 0px 時,元素表現(xiàn)為 fixed 定位,也就會固定在頂部。

代碼:

{
    position: -webkit-sticky;
    position: sticky;
    top: 0;
}

如下圖表現(xiàn)方式:

距離頁面頂部大于20px,表現(xiàn)為 position:relative;

距離頁面頂部小于20px,表現(xiàn)為 position:fixed;

運用 position:sticky 實現(xiàn)頭部導航欄固定

html代碼:

<div class="con">
    <div class="samecon">
        <h2>標題一</h2>
        <p>這是一段文本</p>
        <p>這是一段文本</p>
        <p>這是一段文本</p>
    </div>
    <div class="samecon">
        <h2>標題二</h2>
        <p>這是一段文本</p>
        <p>這是一段文本</p>
        <p>這是一段文本</p>
    </div>
    <div class="samecon">
        <h2>標題三</h2>
        <p>這是一段文本</p>
        <p>這是一段文本</p>
        <p>這是一段文本</p>
    </div>
    <div class="samecon">
        <h2>標題四</h2>
        <p>這是一段文本</p>
        <p>這是一段文本</p>
        <p>這是一段文本</p>
    </div>
    <div class="samecon">
        <h2>標題五</h2>
        <p>這是一段文本</p>
        <p>這是一段文本</p>
        <p>這是一段文本</p>
    </div>
    <div class="samecon">
        <h2>標題五六</h2>
        <p>這是一段文本</p>
        <p>這是一段文本</p>
        <p>這是一段文本</p>
    </div>
</div>

CSS代碼:

.samecon h2{
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    background:#ccc;
    padding:10px 0;
}

同理,也可以實現(xiàn)側邊導航欄的超出固定。

生效規(guī)則

  • 須指定 top, right, bottom 或 left 四個閾值其中之一,才可使粘性定位生效。否則其行為與相對定位相同。
    • 并且 top bottom 同時設置時,top 生效的優(yōu)先級高,left right 同時設置時,left 的優(yōu)先級高。
  • 設定為 position:sticky 元素的任意父節(jié)點的 overflow 屬性必須是 visible,否則 position:sticky 不會生效。這里需要解釋一下:
    • 如果 position:sticky 元素的任意父節(jié)點定位設置為 overflow:hidden,則父容器無法進行滾動,所以 position:sticky 元素也不會有滾動然后固定的情況。
    • 如果 position:sticky 元素的任意父節(jié)點定位設置為 position:relative | absolute | fixed,則元素相對父元素進行定位,而不會相對 viewprot 定位。
  • 達到設定的閥值。這個還算好理解,也就是設定了 position:sticky 的元素表現(xiàn)為 relative 還是 fixed 是根據(jù)元素是否達到設定了的閾值決定的。兼容性

這個屬性的兼容性還不是很好,目前仍是一個試驗性的屬性,并不是W3C推薦的標準。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • position:sticky 粘性定位的幾種巧妙應用詳解

    這篇文章主要介紹了position:sticky 粘性定位的幾種巧妙應用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小
    2021-04-23
  • 詳解css粘性定位position:sticky問題采坑

    這篇文章主要介紹了詳解css粘性定位position:sticky問題采坑的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下
    2019-08-26
  • CSS中Position:Sticky不起作用的問題解決

    本文主要介紹了CSS中Position:Sticky不起作用的問題解決,包含了5種不生效的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的
    2024-02-18
  • 用position:sticky完美解決小程序吸頂問題的實現(xiàn)方法

    這篇文章主要介紹了用position:sticky完美解決小程序吸頂問題的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下
    2021-04-23
  • position:sticky用法介紹及瀏覽器兼容性

    用戶的屏幕越來越大,而頁面太寬的話會不宜閱讀,所以絕大部分網(wǎng)站的主體寬度和之前相比沒有太大的變化,于是瀏覽器中就有越來越多的空白區(qū)域,所以你可能注意到很多網(wǎng)站開
    2012-12-25
  • css中position:sticky 粘性定位詳解

    粘性定位的元素是依賴于用戶的滾動,在position:relative與position:fixed定位之間切換,這篇文章給大家介紹css中position:sticky 粘性定位的相關知識,感興趣的朋友跟隨小
    2024-02-28

最新評論