position: sticky;實現(xiàn)banner吸頂功能

原創(chuàng)聲明

本文系作者辛苦碼字所得晰筛,歡迎分享和轉(zhuǎn)載,但請在明顯位置注明作者的如下信息:
筆名:來碗雞蛋面
簡書主頁:http://www.reibang.com/u/4876275b5a73
郵箱:job_tom@foxmail.com
CSDN ID:tom_wong666

需求:

實現(xiàn)banner吸頂功能链峭,即nav盹牧,bannner通危,content上下三欄布局頁面上,向上滾動過程中:
1蜈垮,nav會消失逐漸耗跛;
2,banner會逐漸向上移動攒发,直到貼到body頂部然后固定在body頂部调塌;
3,content會向上走并逐漸被隱藏;

分析:

1惠猿,js+css實現(xiàn):nav static定位羔砾, banner absolute定位(加top等于nav高度), content static定位(加margin-top 等于banner高度)偶妖,依據(jù)body的scrollTop值動態(tài)調(diào)整banner absolute定位的top值姜凄;這樣做,缺點是邏輯復(fù)雜趾访,設(shè)備資源消耗大态秧,以及頁面容易抖動。
2扼鞋,css實現(xiàn):position: sticky;可以規(guī)避以上缺點申鱼;缺點是IE不兼容,不過親測Edge是支持的云头,畢竟Edge已經(jīng)擁抱Chromium了捐友。

position: sticky說明--參閱MDN解釋如下:

// 粘性定位可以被認為是相對定位和固定定位的混合。元素在跨越特定閾值前為相對定位溃槐,之后為固定定位匣砖。例如:

#one { position: sticky; top: 10px; }
// 在 viewport 視口滾動到元素 top 距離小于 10px 之前,元素為相對定位。之后脆粥,元素將固定在與頂部距離 10px 的位置砌溺,直到 viewport 視口回滾到閾值以下。

// 粘性定位常用于定位字母列表的頭部元素变隔。標(biāo)示 B 部分開始的頭部元素在滾動 A 部分時,始終處于 A 的下方蟹倾。而在開始滾動 B 部分時匣缘,B 的頭部會固定在屏幕頂部,直到所有 B 的項均完成滾動后鲜棠,才被 C 的頭部替代肌厨。

須指定 top, right, bottom 或 left 四個閾值其中之一,才可使粘性定位生效豁陆。否則其行為與相對定位相同柑爸。

代碼示例:

<html lang="zh-en">
    <head>
      <style>
        body {
          position: relative;
        }
        .nav {
          width: 100%;
          height: 10%;
          background: red;
          position: sticky;
          z-index: 100;
          top: 0;
        }        
        .banner {
          width: 100%;
          height: 10%;
          background: blue;
          position: sticky;
          z-index: 100;
          top: 0;
        }
        .content {
          width: 100%;
          height: 10%;
          background: gray;
          position: relative;
          z-index: 0;          
        }
      </style>
    </head>
    <body>
      <div class="nav">nav</div>
      <div class="banner">banner
        <br/>
        向上滾動過程中:1,nav會消失逐漸盒音;2表鳍,banner會逐漸向上移動,直到貼到body頂部然后固定在body頂部祥诽;3,content會向上走并逐漸被隱藏譬圣;
      </div>
      <div class="content">content1</div>
      <div class="content">content2</div>
      <div class="content">content3</div>
      <div class="content">content4</div>
      <div class="content">content5</div>
      <div class="content">content6</div>
      <div class="content">content7</div>
      <div class="content">content8</div>
      <div class="content">content9</div>
      <div class="content">content10</div>
      <div class="content">content11</div>
      <div class="content">content12</div>
    </body>
</html>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市雄坪,隨后出現(xiàn)的幾起案子厘熟,更是在濱河造成了極大的恐慌,老刑警劉巖维哈,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绳姨,死亡現(xiàn)場離奇詭異,居然都是意外死亡阔挠,警方通過查閱死者的電腦和手機飘庄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谒亦,“玉大人竭宰,你說我怎么就攤上這事》菡校” “怎么了切揭?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長锁摔。 經(jīng)常有香客問我廓旬,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任孕豹,我火速辦了婚禮涩盾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘励背。我一直安慰自己春霍,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布叶眉。 她就那樣靜靜地躺著址儒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪衅疙。 梳的紋絲不亂的頭發(fā)上莲趣,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天,我揣著相機與錄音饱溢,去河邊找鬼喧伞。 笑死,一個胖子當(dāng)著我的面吹牛绩郎,可吹牛的內(nèi)容都是我干的潘鲫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼嗽上,長吁一口氣:“原來是場噩夢啊……” “哼次舌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起兽愤,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤彼念,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后浅萧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逐沙,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年洼畅,在試婚紗的時候發(fā)現(xiàn)自己被綠了吩案。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡帝簇,死狀恐怖徘郭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情丧肴,我是刑警寧澤残揉,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站芋浮,受9級特大地震影響抱环,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一镇草、第九天 我趴在偏房一處隱蔽的房頂上張望眶痰。 院中可真熱鬧,春花似錦梯啤、人聲如沸竖伯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽黔夭。三九已至,卻和暖如春羽嫡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背肩袍。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工杭棵, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人氛赐。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓魂爪,卻偏偏與公主長得像,于是被迫代替她去往敵國和親艰管。 傳聞我的和親對象是個殘疾皇子滓侍,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 我的公共CSS文件@import "normalize.css";/begin主頁面//begin主頁面/body...
    藍色海洋_1982閱讀 1,163評論 0 0
  • 一、場景 需求:tab需要在劃出視口的時候吸頂(sticky)牲芋,方便點擊切換下方內(nèi)容撩笆。 二、方案 1缸浦、采用scro...
    玲兒瓏閱讀 3,020評論 0 1
  • 不會用代碼框夕冲,所以看著有些亂套,裂逐,歹鱼,,html部分 <!DOCTYPE html> 迅雷看看 ...
    這就是個帥氣的名字閱讀 1,534評論 0 0
  • 理財?shù)氖菫榱烁玫乩砬迳睢?作為一名剛畢業(yè)半年的下架學(xué)姐卜高,接觸“簡七理財”已經(jīng)兩年有余了弥姻,跟著簡七做了自己的財務(wù)...
    皮袋君閱讀 362評論 0 5
  • Clover 是一款非常小巧庭敦、便捷實用的 窗口標(biāo)簽化 小工具。 如果你的文件夾每天都像這樣: 或者這樣: 任務(wù)欄被...
    airhuu閱讀 1,628評論 2 1