线上体验地址 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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
css,骨架屏
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
岱庙资源网 Copyright www.zgmyg.com
暂无“浅谈只要css就能实现的骨架屏方案”评论...
更新日志
2024年11月15日
2024年11月15日
- 炉石传说月初最强卡组有哪些 2024月初最强上分卡组推荐
- 狼人杀亮相原生鸿蒙之夜 假面科技强势登陆华为生态
- 12小时光线挑战!AI画质专家才是大平层首选
- 2024游戏IP报告:1~9月规模1960亿 68%用户愿为之付费
- 群星.2024-今夜一起为爱鼓掌电视剧原声带【相信音乐】【FLAC分轨】
- BIGFOUR.2013-大家利事【寰亚】【WAV+CUE】
- 李美凤.1992-情深透全情歌集【EMI百代】【WAV+CUE】
- 田震2024-《时光音乐会》[金峰][WAV+CUE]
- 群星《监听天碟3》[LECD]限量版[WAV+CUE]
- 心妤《声如夏花HQ》头版限量编号[WAV+CUE]
- 群星《摇滚五杰》[低速原抓WAV+CUE][1.1G]
- 群星 《2024好听新歌30》十倍音质 U盘音乐 [WAV+分轨]
- 陈慧娴《永远是你的朋友》头版限量编号MQA-UHQCD2024[低速原抓WAV+CUE]
- 曼丽·女人三十《如果·爱》限量1:1母盘直刻[低速原抓WAV+CUE]
- 刘文正《流金三十年》[6N纯银镀膜][低速原抓WAV+CUE]