导航

萌即是正义!时不时分享一些ACG活动记录与有趣代码的小站!

侧边栏
最新评论
广树管理员
2026-06-04 08:25
@hikari:是的,说的就是gpt
hikari
2026-06-04 01:11
gpt最喜欢兜底了哈哈哈哈
广树管理员
2026-06-03 20:39
@saber酱:我觉得就是在赶人走,提高费用,并且不能重新订阅了。准备换别家的了,没必要死磕。
saber酱
2026-06-03 20:38
@广树:原来这是请求次数的倍率吗,也太高了吧。包月的也很惨,看来以后做些简单的工作得切换到 mini 模型了。
广树管理员
2026-06-03 20:35
@saber酱:是的。对于包月用户现在是 Credits 计费。基于我这样的旧包年用户,仍然采用高级请求次数的方式。只不过请求次数倍率暴涨。
攻略中
传颂之物:循白之证
暂无评分
PS5传颂之物:循白之证
2026年5月31日 19时 ~ 攻略中
已累计游玩3天
《传颂之物:循白之证》是 AQUAPLUS 开发、Shiravune 发行的《传颂之物》系列动作 RPG。故事发生在大国“大和”恢复和平之后:奥修特尔、御雷、宗近、修娘等人击退敌国阿瓦什兰的侵略,本应迎来安宁,但各地却陆续出现看似毫无关联的怪异现象,并逐渐指向同一个源头;随着三条线索彼此重叠,众人再次踏上旅程,而旅途尽...
告别回忆 双想 ~Not always true~
暂无评分
Steam告别回忆 双想 ~Not always true~
2026年3月10日 22时 ~ 攻略中
已累计游玩2个月25天
“我觅见了生命中的唯一,而后——”
亚路塔:狐狸狐途的面包冒险
暂无评分
Steam亚路塔:狐狸狐途的面包冒险
2026年2月12日 19时 ~ 攻略中
已累计游玩3个月21天
一场席卷全世界的面包革命现在开始! 主人公查雅阴错阳差之下,开始了在荒废的岛屿上经营面包店的生活。 出外冒险搜集食材、研发崭新面包配方、遇见性格各异的伙伴们,建造更丰富的设施,用面包香气使无人问津的广场再次热闹起来!
ToHeart
暂无评分
SteamToHeart
2025年6月26日 19时 ~ 攻略中
已累计游玩11个月12天
AQUAPLUS推出的“温暖人心的校园恋爱游戏”将以高清全3D形式焕新归来!
fault - StP - LIGHTKRAVTE
暂无评分
Steamfault - StP - LIGHTKRAVTE
2025年5月29日 20时 ~ 攻略中
已累计游玩1年
全球累计销量超过50万份的“fault”系列最新作!故事的舞台是一个融合了奇幻与科幻的超前世界——卢森海德王国。本作讲述了生活在此地的一个平凡又平庸的究极普通市民——名为果子的少年的故事。
PSN奖杯卡

PSN奖杯卡

归档
赞助商广告

解决并记录因为加载顺序导致flex布局出现画面抖动的笔记

2024-07-15 14:35:19
博客开发

最近在浏览维基萌的时候发现了一个因为加载顺序导致的flex布局抖动现象,想着挺有意思的就记录一下解决思路和方案。


现象

image-9iu2c3ve.png

有时候在浏览维基萌的时候偶尔会一瞬间出现上图的布局。


image-xh7puj05.png

然后一晃而过恢复成了正常布局。

这个现象只有打包发布到服务器上才会出现,本地调试则复现不出来。


分析原因

起初怀疑右侧侧边栏的内容可能引发BUG。于是清空了右侧侧边栏,只保留一个空框架,但问题依旧存在。

后来思考为什么问题只在发布到服务器上时出现,而且复现问题时右侧侧边栏似乎消失了。这联想到可能与网速有关。

于是,在本地调试环境中通过限制浏览器流量成功复现了问题,这样问题就更容易解决了。

经过一番分析,找到了问题的根源。首先,维基萌的PC界面采用三栏布局,通过flex固定左侧菜单和右侧侧边栏的宽度,中间内容部分则分配剩余空间。HTML的加载是自上而下的,当由于网络原因导致页面加载较慢时,有可能在下载到中间内容部分时,右侧侧边栏尚未下载完毕,中间内容部分就先显示出来了。

基于flex布局的设定,由于右侧侧边栏暂时不存在,中间内容部分会占用所有剩余空间。随后,右侧侧边栏加载进来,就会造成界面短暂的抖动。


解决办法

解决办法也很简单,flex布局还有一个order的属性。

CSS中的order属性用于控制灵活盒子布局(flexbox)中的项目顺序。通过设置order属性,可以改变flex容器中的子元素在布局中的排列顺序,而不需要改变HTML的顺序。

首先将原本的HTML顺序从【菜单->内容->侧边栏】改成【菜单->侧边栏->内容】。

然后再通过order属性,指定三个元素的顺序为【菜单->内容->侧边栏】即可。

具体到CSS为:

.blog-layout-body {
  /* 前略 */
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.blog-layout-left-body {
  /* 前略 */
  order: 0;
}
.blog-layout-content-body {
  /* 前略 */
  order: 1;
}
.blog-layout-right-body {
  /* 前略 */
  order: 2;
}

其中【justify-content: space-between】指定两端对齐,可以防止在【内容】没加载时,【菜单】和【侧边栏】出现布局的抖动。

通过以上修改就可以让对应的元素在加载前和加载后都固定在一个位置,从而防止页面的抖动。

donate.png


telegram banner (1).png

相似内容:
推文
给博客增加了自动打开指定图片到灯箱的功能。 算是一个体验上的小优化,只要在url里加上指定的参数就能实现默认打开指定图片的功能。 这个功能主要是方便分享我的全景照片。 可以尝试点击以下链接进行测试: https://www.wikimoe.com/post/t4d4taba?pswpopen=1&pswphash=1z2zuc0yb2xki&pswpcomponent=htmlcontent&pswpindex=33
发表于:2025-11-08 22:05
推文
维基萌博客系统发布了0.28.0版本啦! 在这个版本中可以随意在推文列表中引用相关内容并对其进行排序。 详见:https://github.com/eeg1412/wikimoeNodeJSBlog/releases/tag/v0.28.0
发表于:2025-03-29 13:38
推文
给推文增加了内容的强关联,这样以后可以用推文来捞旧博文啦🤭。 另外给《关于》页增加了投票,欢迎投票。 关于页地址:https://www.wikimoe.com/page/about
发表于:2025-03-17 19:53
推文
维基萌博客系统发布了0.23.0版本啦! 这次更新结合了一些大佬的意见对界面做了一些调整,并对一些陈年老BUG做了修复。 新增了【图片组】的元素,这个在文章《2025年的第一展——15周年纪念 妖狐×仆SS・藤原可可亚展》中第一次应用。 另外考虑到很多人不会正确设置JWT密钥,在0.23.0版本更新后由系统自动生成安全系数较高的密钥。 具体更新内容请见:https://github.com/eeg1412/wikimoeNodeJSBlog/releases/tag/v0.23.0
发表于:2025-01-18 12:57
推文
维基萌博客系统发布了0.21.0版本啦! 这次更新主要增加了文章的批量处理以及大量细致化的设置。 具体更新内容请见:https://github.com/eeg1412/wikimoeNodeJSBlog/releases/tag/v0.21.0
发表于:2024-11-28 18:12
推文
应大佬们的要求给博客加上了“自定义HTML”的功能,可以在侧边栏加上各种奇奇怪怪的HTML小组件了。 应我自己的要求给博客加上了“今日热门文章”的功能,可以直观的展现哪些是维基萌当前热门的内容。
发表于:2024-07-06 10:24
推文
综合大佬报告的一些问题,得出了苹果safari默认的视频进度条UI的一些特性(BUG?)。 1.在拖动进度条时,会受到各类Move事件影响,也就是说把视频放在幻灯片或者灯箱中后在safari上是很难操作进度条的。Chrome、Edge、Firefox都没有这个情况。 2.拖动进度条会触发onpause事件,这个在Firefox也有一样的情况,只不过可以通过video.seeking来判断这个暂停事件是由于拖动进度条导致的还是按了暂停按钮,但是safari这招并不行。 有点难搞,真要为了safari开发一套视频UI吗?😅
发表于:2024-06-30 22:06
博文
写在博客改版更新后
发表于:2024-01-08 11:02