html前端页面的基本骨架是,web前端入门到实战:css实现的骨架屏方案
web前端入門到實(shí)戰(zhàn):css實(shí)現(xiàn)的骨架屏方案
發(fā)布時(shí)間:2020-08-04 01:32:03
來(lái)源:51CTO
閱讀:152
作者:前端向南
優(yōu)點(diǎn)
簡(jiǎn)單,不需要工程,不用puppeteer生成骨架dom,也不需要二次開(kāi)發(fā)維護(hù)
定制程度高,想怎么搞就怎么搞
不臃腫,只給你想要的
缺點(diǎn)
自動(dòng)化程度低,需要在骨架dom上手動(dòng)添加類
協(xié)同要求高,不像工程化能通過(guò)工程去約束
思路
通過(guò)偽元素實(shí)現(xiàn)骨架樣式,通過(guò)操作樣式實(shí)現(xiàn)骨架和頁(yè)面的動(dòng)態(tài)切換
實(shí)現(xiàn)
css部分(scss寫(xiě)法)
通過(guò)after偽元素生成骨架樣式,并通過(guò)absolute覆蓋到實(shí)際元素上
專門建立的學(xué)習(xí)Q-q-u-n: 784-783-012 ,分享學(xué)習(xí)的方法和需要注意的小細(xì)節(jié),不停更新最新的教程和學(xué)習(xí)技巧
(從零基礎(chǔ)開(kāi)始到前端項(xiàng)目實(shí)戰(zhàn)教程,學(xué)習(xí)工具,全棧開(kāi)發(fā)學(xué)習(xí)路線以及規(guī)劃)
.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 { /* 骨架屏動(dòng)畫(huà) */
from {
left: -100%;
}
to {
left: 150%;
}
}
html部分
只需要在你認(rèn)為合理的骨架粒度元素上添加skeleton類即可
js部分
控制好skt-loading類的切換
使用注意
after偽元素?zé)o法插入到inputimg等非容器元素中,所以如果需要添加skleton,則需要再加一層元素將其包裹
對(duì)于像vuereact數(shù)據(jù)驅(qū)動(dòng)頁(yè)面需要先有mock數(shù)據(jù)以生成dom
總結(jié)
以上是生活随笔為你收集整理的html前端页面的基本骨架是,web前端入门到实战:css实现的骨架屏方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 五年级计算机教材内容,五年级计算机教学计
- 下一篇: css两张图片怎么合在一起_web前端入