当前位置: 首页 > news >正文

建设银行网站查询密码是什么竞价推广套户渠道商

建设银行网站查询密码是什么,竞价推广套户渠道商,怎样用电脑做网站服务器,淘宝联盟自己做网站写在前面 几天前看到薄荷前端团队分享的《前端骨架屏方案小结》,突然回想起一年前看到的max bock写的《Building Skeleton Screens with CSS Custom Properties》,翻译整理写下出此文,分享一下使用CSS自定义属性构建骨架屏的技巧&#xff0c…

写在前面

几天前看到薄荷前端团队分享的《前端骨架屏方案小结》,突然回想起一年前看到的max bock写的《Building Skeleton Screens with CSS Custom Properties》,翻译整理写下出此文,分享一下使用CSS自定义属性构建骨架屏的技巧,先看骨架屏demo效果吧

 

设计Web上的加载状态常常被忽略或被认为是事后考虑。性能不仅是前端开发人员的职责,构建与慢速连接一起工作的体验也是设计挑战。 虽然前端开发人员需要注意一些事情,比如压缩和缓存,但是设计人员必须考虑UI处于“加载”或“离线”状态时的外观和行为。

 

 

速度幻觉

 

随着我们对移动体验的期望发生变化,我们对性能的理解也在变化。我们期望网络应用程序感觉像本机应用程序一样快速响应,无论其当前的网络覆盖范围如何。

感知性能是衡量用户感觉速度的尺度。这个想法是用户更有耐心,并且如果他们知道正在发生什么,并且在内容实际存在之前能够预测内容,那么他们会认为系统更快。这在很大程度上与管理期望和保持用户知情有关。

 

 

对于Web应用程序,这个概念可能包括显示文本,图像或其他内容元素的“模型” - 称为

骨架屏?。可以在网上可以看到,Facebook,Google,Slack等公司使用:

 

(Facebook的骨架屏)

(Slack的骨架屏)

例子

假设你正在构建一个Web应用程序,这是一种旅行建议类型的东西,人们可以分享他们的旅行和推荐地点,所以你的主要内容可能看起来像这样:

您可以将该卡片缩小到其基本视觉形状(UI组件的骨架)

 

每当有人从服务器请求新内容时,您可以立即开始显示骨架,同时在后台加载数据。内容准备就绪后,只需将骨架换成实际卡即可。这可以使用普通的JavaScript或使用像Vue/React这样的库来完成。

 

 

现在我们可以使用图像来显示骨架,但这会引入额外的请求和数据开销。我们已经在这里加载了东西,所以等待另一个图像首先加载并不是一个好方式。此外,它没有响应,如果我们决定调整一些内容卡的样式,我们将不得不复制骨架图像的更改,以便它们再次匹配。?

 

 

 

 

 

一个更好的解决方案是只用CSS创建整个东西。没有额外的请求,最小的开销,甚至没有任何额外的标记。我们可以用下面的方式来构建它,使以后更改设计变得更容易。

通过CSS绘制骨架

 

首先,我们需要绘制构成卡片骨架的基本形状。我们可以通过background-image属性添加不同的渐变来实现这一点。默认情况下,线性渐变从上到下运行,有不同的颜色停止过渡。如果我们只定义一个颜色停止,并使其余颜色保持透明,我们可以绘制形状。

 

 

 

 

 

请记住,在这块,多个背景图像堆叠在一起,因此顺序非常重要。最后一个渐变定义在后面,第一个位于前面。

 

 

 

.skeleton {background-repeat: no-repeat;background-image:radial-gradient(circle 16px, white 99%, transparent 0), /* 第3层 头像 */linear-gradient(white 40px, transparent 0), /* 第2层 标题 */linear-gradient(gray 100%, transparent 0); /* 第1层 卡片背景 */
}
复制代码

 

这些形状拉伸来填充整个空间,就像常规的块级元素一样。如果我们想要改变它,我们必须为它们定义明确的尺寸。background-size的值来设置每个图层的宽度和高度,保持我们使用的相同顺序background-image:

 

 

 

.skeleton {background-size:32px 32px,  /* 头像 */200px 40px,  /* 标题 */100% 100%; /* 卡片背景 */
}
复制代码

 

最后一步是将元素放在卡片上。这与position:absolute类似,表示left和top属性的值一样。例如,例如:我们可以给头像和标题 模拟24px的填充,以匹配真实内容卡的外观。

 

 

 

.skeleton {background-position:24px 24px,  /* 头像 */24px 200px, /* 标题 */0 0;        /* 卡片背景 */
}
复制代码

 

 

使用自定义属性将其分解

 

这在一个简单的例子中效果很好, 但是如果我们想要构建一些稍微复杂的东西,那么CSS会很快变得混乱并且很难阅读。如果代码交接给另外一个前端开发人员,他们就不知道所有这些神奇的数字来是从哪里来的,显然这是不易难维护的。

 

 

于是乎,这里提出用自定义CSS属性,以更加简洁,更有利于前端开发人员的方式编写骨架样式 ,甚至可以考虑不同值之间的关系:

 

 

 

.skeleton {/*定义单独的属性*/--card-height: 340px;--card-padding:24px;--card-skeleton: linear-gradient(gray var(--card-height), transparent 0);--title-height: 32px;--title-width: 200px;--title-position: var(--card-padding) 180px;--title-skeleton: linear-gradient(white var(--title-height), transparent 0);--avatar-size: 32px;--avatar-position: var(--card-padding) var(--card-padding);--avatar-skeleton: radial-gradient(circle calc(var(--avatar-size) / 2), white 99%, transparent 0);/* 现在我们可以把背景分解成单独的形状*/background-image: var(--avatar-skeleton),var(--title-skeleton),var(--card-skeleton);background-size:var(--avatar-size),var(--title-width) var(--title-height),100% 100%;background-position:var(--avatar-position),var(--title-position),0 0;
}
复制代码

 

这不仅可读性更好,而且以后更改一些值也更容易。另外,我们还可以使用一些变量(比如头像大小、卡片填充)来定义实际卡片的样式,并始终使其与骨架版本保持同步。添加一个媒体查询来调整不同断点的骨架部分现在也非常简单:

 

 

 

@media screen and (min-width: 47em) {:root {--card-padding: 32px;--card-height: 360px;}
}
复制代码

 

ps:浏览器对自定义属性的支持很好,但不是100%。基本上,所有现代浏览器都有支持,IE / Edge有点晚了。对于这个特定用例,使用Sass变量很容易添加回退。

添加动画

 

为了使这更好,我们可以为我们的骨架设置动画,并使其看起来更像是一个加载指示器。

我们需要做的就是在顶层放置一个新的渐变,然后使用它来设置其位置的动画@keyframes

以下是成品骨架卡外观的完整骨架屏-demo

当然你可以使用:empty选择器和伪元素来绘制骨架,因此它只适用于空卡片元素,一旦注入了内容,框架屏幕就会自动消失

最后,感兴趣的同学可去我github下载这个骨架屏-demo源码传送门

 


作者:codercao
链接:https://juejin.im/post/5bd07157f265da0ad221cd19
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

http://www.lbrq.cn/news/2483893.html

相关文章:

  • 如何做网站文件新闻式软文
  • 微信手机网站制作seo关键字优化
  • 娄底网站建设公司微博指数查询入口
  • 门户网站内容管理建设方案抖音seo优化
  • 有什么网站做生鲜配送的青岛seo排名公司
  • kotlin做网站公司网站如何seo
  • 浦东新区做网站公司网站运营方案
  • 聊城网站建设开发北京seo运营
  • 提升网站权重的策略网络推广公司排名
  • 网站建设的域名续费舆情监控系统
  • 一般上什么网站世界足球世界排名
  • 邯郸去哪做网站改版青岛网站制作seo
  • 做国际贸易哪个网站比较好全网营销整合推广
  • 毕业设计做网站怎么做体验营销策划方案
  • 百度网站审核期时间网站关键词优化教程
  • 网站建设完成的时间怎么做网络推广优化
  • 有人做几个蝎子养殖门户网站如何成为app推广代理
  • 妈妈在家里做女视频网站怎么创建一个网站
  • 知名网站设计服务商店铺数据分析主要分析什么
  • 三联网站建设工作室搜索app下载
  • 天蝎做网站建网站无锡百度seo优化
  • 如何查看一个网站的浏览量免费建站软件
  • 做网站建设话术沪指重上3000点
  • 动易政府网站源代码qq群推广链接
  • 陇南市响应式网站建设株洲网站建设
  • 安庆市大观区城乡建设局网站新媒体运营是做什么
  • 中央下令全国解封通知站长工具seo综合查询权重
  • 聊城做wap网站哪儿好东莞seo关键词
  • 网站备案怎么弄青岛模板建站
  • 网站用户 分析免费有效的推广网站
  • SpringMVC——建立连接
  • 图解网络-小林coding笔记(持续更新)
  • almalinux9.6-4070显卡-ollama-qwen2.5-7b
  • FPGA Verilog 入门语法指南
  • 【动态规划:斐波那契数列模型】解码方法
  • Chromadb 1.0.15 索引全解析:从原理到实战的向量检索优化指南