線上體驗地址 https://jsfiddle.net/z13wtr0q/
先說優缺點,畢竟骨架屏實現的方案有很多種
優點
缺點
思路
通過偽元素實現骨架樣式,通過操作樣式實現骨架和頁面的動態切換
實現
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類的切換
使用注意
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答