国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

淺談只要css就能實現的骨架屏方案

2024-07-11 08:42:30
字體:
來源:轉載
供稿:網友

線上體驗地址 https://jsfiddle.net/z13wtr0q/

先說優缺點,畢竟骨架屏實現的方案有很多種

優點

  • 簡單,不需要工程,不用puppeteer生成骨架dom,也不需要二次開發維護
  • 定制程度高,想怎么搞就怎么搞
  • 不臃腫,只給你想要的

缺點

  • 自動化程度低,需要在骨架dom上手動添加類
  • 協同要求高,不像工程化能通過工程去約束

思路
 

通過偽元素實現骨架樣式,通過操作樣式實現骨架和頁面的動態切換

實現

css部分(scss寫法)

通過after偽元素生成骨架樣式,并通過absolute覆蓋到實際元素上

  .skt-loading {    pointer-events: none; /* 加載中阻止事件 */    .skeleton {      position: relative;      overflow: hidden;      border: none !important;      border-radius: 5px;      background-color: transparent !important;      background-image: none !important;      &::after {        content: '';        position: absolute;        left: 0;        top: 0;        z-index: 9;        width: 100%;        height: 100%;        background-color: #EBF1F8;        display: block;      }            /* 下面這部分都是自定義的,看需求修改 */      &:not(.not-round)::after {        border-radius: 4px;      }      &:not(.not-before)::before {        position: absolute;        top: 0;        width: 30%;        height: 100%;        content: "";        background: linear-gradient(to right,rgba(255,255,255,0) 0,            rgba(255,255,255,.3) 50%,rgba(255,255,255,0) 100%);        transform: skewX(-45deg);        z-index: 99;        animation: skeleton-ani 1s ease infinite;        display: block;      }      &.badge {        &::after {          background-color: #F8FAFC;        }      }    }  }  @keyframes skeleton-ani { /* 骨架屏動畫 */    from {      left: -100%;    }    to {      left: 150%;    }  }

html部分

只需要在你認為合理的骨架粒度元素上添加skeleton類即可

js部分

控制好skt-loading類的切換

使用注意

  • after偽元素無法插入到inputimg等非容器元素中,所以如果需要添加skleton,則需要再加一層元素將其包裹
  • 對于像vuereact數據驅動頁面需要先有mock數據以生成dom

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 迁安市| 驻马店市| 疏勒县| 九寨沟县| 咸丰县| 西盟| 顺义区| 容城县| 邛崃市| 新密市| 嵊州市| 姚安县| 甘泉县| 兰州市| 香港| 龙州县| 新乐市| 新龙县| 东源县| 资源县| 文成县| 油尖旺区| 五峰| 广东省| 定结县| 阿荣旗| 如东县| 抚宁县| 延庆县| 报价| 徐汇区| 禹州市| 巴青县| 宝鸡市| 德保县| 含山县| 红安县| 广宗县| 吕梁市| 南乐县| 库伦旗|