在二次開發主題的過程中,發現了很多問題。其中技術點不高,但讓人瞬gan**
的就是這一條css屬性。
position:sticky是css定位新增屬性;可以說是相對定位relative和固定定位fixed的結合;它主要用在對scroll事件的監聽上;簡單來說,在滑動過程中,某個元素距離其父元素的距離達到sticky粘性定位的要求時(比如top:100px);position:sticky這時的效果相當於fixed定位,固定到適當位置。
首先先了解下: css position屬性用於指定乙個元素在文件中的定位方式。top,right,bottom 和 left 屬性則決定了該元素的最終位置。
目前共有4種定位型別。
關鍵字取值一覽
更多關鍵字
作用描述
static該關鍵字指定元素使用正常的布局行為,即元素在文件常規流中當前的布局位置。此時top
,right
,bottom
,left
和z-index
屬性無效。
relative該關鍵字下,元素先放置在未新增定位時的位置,再在不改變頁面布局的前提下調整元素位置(因此會在此元素未新增定位時所在位置留下空白)。position:relative 對 table-*-group, table-row, table-column, table-cell, table-caption 元素無效。
absolute元素會被移出正常文件流,並不為元素預留空間,通過指定元素相對於最近的非 static 定位祖先元素的偏移,來確定元素位置。絕對定位的元素可以設定外邊距(margins),且不會與其他邊距合併。
fixed元素會被移出正常文件流,並不為元素預留空間,而是通過指定元素相對於螢幕視口(viewport)的位置來指定元素位置。元素的位置在螢幕滾動時不會改變。列印時,元素會出現在的每頁的固定位置。fixed
屬性會建立新的層疊上下文。當元素祖先的transform
,perspective
或filter
屬性非none
時,容器由視口改為該祖先。
sticky元素根據正常文件流進行定位,然後相對它的最近滾動祖先(nearest scrolling ancestor)和 containing block (最近塊級祖先 nearest block-level ancestor),包括table-related元素,基於top
,right
,bottom
, 和left
的值進行偏移。偏移值不會影響任何其他元素的位置。
因為static
,relative
,absolute
,fixed
多多少少都在開發中用過了,所以我就不進行展示了。直接從sticky
入手。
設定position:sticky時, 定位屬性設定(top
,bottom
,right
,left
)之一即可。
使用條件:
1、父元素不能overflow:hidden或者overflow:auto屬性。
2、必須指定top、bottom、left、right4個值之一,否則只會處於相對定位。
3、父元素的高度不能低於sticky元素的高度。
4、sticky元素僅在其父元素內生效。
a
安安荌荌
安卉
安娜
安妮 b白雪
白雲
碧螺
碧菡
碧玉 c採文
采萱
初雪
春華
春雪 d丹丹
丹彤
丹紅
冬雪 f方方
芳菲
芳華
芳馨
芳澤
切記,父元素不能overflow:hidden或者overflow:auto屬性。我就是因為這個原因,搞了一上午。
systemtap embedded C 踩坑筆記
官方文件 systemtap的embedded c中,不能 include 也不能用printf和print。那怎麼列印呢?用stap printf。用法與printf一樣。還可以訪問cript中的全域性變數。官方文件中的示例 global var global var2 100 function ...
Aggregation MongoDB踩坑記錄
對某些篩選條件進行分頁查詢,開始每一頁的有效data都不足pagesize,最後發現,aggregation 的pipeline是有先後順序的。錯誤 agg aggregation.newaggregation aggregation.skip curpage 1 pagesize aggregat...
feign踩坑 通過Feign上傳檔案(踩坑)
引入依賴 org.springframework.cloud spring cloud starter openfeign 服務提供者 restcontroller public inte ce fileuploadservice commonresultuploadfile requestpart...