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

聊聊CSS粘性定位sticky案例解析

  發(fā)布時(shí)間:2022-05-31 15:13:04   作者:知迷鳥   我要評論
這篇文章主要介紹了關(guān)于CSS粘性定位sticky,粘性定位可以被認(rèn)為是相對定位和固定定位的混合,它主要用在對 scroll 事件的監(jiān)聽上,對CSS粘性定位sticky相關(guān)知識感興趣的朋友一起看看吧

背景

最近在做項(xiàng)目遷移,因?yàn)榧夹g(shù)不同,導(dǎo)致某些功能的問題需要手動(dòng)解決;如何在居位在主體區(qū)域底部不隨內(nèi)容而滾動(dòng);
OK進(jìn)入正體這期分享的是CSS粘性定位屬性sticky來解決上面的問題

粘性定位:

粘性定位可以被認(rèn)為是相對定位和固定定位的混合。是 position:sticky是css定位新增屬性;它主要用在對 scroll 事件的監(jiān)聽上;簡單來說,在滑動(dòng)過程中,某個(gè)元素距離其父元素的距離達(dá)到 sticky粘性定位的要求時(shí)(比如top:100px);position:sticky這時(shí)的效果相當(dāng)于fixed定位,固定到適當(dāng)位置

案例:

我們先來看個(gè)案例及最終的效果

在這里插入圖片描述

實(shí)現(xiàn)的代碼

通過一個(gè)簡單案例去帶大家粗略了解粘性布局更容易更好理解,東西本身不負(fù)載但存在一些問題需要去進(jìn)一步了解

問題探索及項(xiàng)目中的坑

  • 如果發(fā)現(xiàn)sticky粘性定位失效,如何解決
    解決方案: 一般sticky粘性定位失效,我們需要去找他的父元素看他的父親元素是否設(shè)置overflow,一般都以滾動(dòng)條那個(gè)父元素為主
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <div class="aside-warp">
    <div>1</div>
    <div>2</div>
    <div class="icon">圖標(biāo)</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>6</div>
    <div>7</div>
    <div>8</div>
    <div>9</div>
    <div>10</div>
    <div>11</div>
    <div>12</div>
    <div>13</div>
    <div>14</div>
    <div>15</div>
    <div>16</div>
    <div>17</div>
    <div>18</div>
    <div>19</div>
  </div>
</body>
</html>
<style>
  body {
    height: 2000px;
    overflow: auto;
  }
  .aside-warp {
    margin-top: 50px;
    height: 700px;
    width: 500px;
    background-color: aliceblue;
    overflow: hidden; //這里是模仿沒有滾動(dòng)條的效果
  }
  .aside-warp div {
    height: 80px;
    line-height: 80px;
    text-align: center;
    border: 1px solid red;
  }
  .icon {
    position: sticky;
    top: 0px;
    background-color: aquamarine;
  }
</style>

如果能解決上面的案例說明對粘性布局了解;

來說明下上面的案例的問題:為什么此時(shí)圖標(biāo)就無法粘性定位了,主要是因?yàn)樗ㄗ釉兀┎恢酪阅莻€(gè)父元素的滾動(dòng)為準(zhǔn)(現(xiàn)在有兩個(gè)父級元素都產(chǎn)生了滾動(dòng)),所以我們要對一層層祖級元素檢查看是否有overflow屬性如果有將元素設(shè)置 overflow: visible; body {overflow: visible; }; 簡單理解:兩個(gè)父級body 和div.main 如果同高度寬度的話,子元素就不知道到底以父元素為主,就會(huì)出現(xiàn)無法粘性定位的問題,所以避免這個(gè)問題我們要將其中不要定位的父元素設(shè)置{overflow: visible; }; PS:像這種案例非常常見我只是隨機(jī)例舉,比如像吸頂啊等等都是可以用粘性定位實(shí)現(xiàn)的

到此這篇關(guān)于關(guān)于CSS粘性定位sticky的文章就介紹到這了,更多相關(guān)CSS粘性定位sticky內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解css粘性定位position:sticky問題采坑

    這篇文章主要介紹了詳解css粘性定位position:sticky問題采坑的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下
    2019-08-26
  • 詳解CSS粘性定位 sticky

    這篇文章主要介紹了CSS粘性定位 sticky 的相關(guān)知識,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-29

最新評論