首页
学习
活动
专区
圈层
工具
发布

为新的Facebook.com重建我们的技术栈

原子化的CSS,减少主页80%的CSS 在我们的旧网站上加载主页时,加载了超过400KB的压缩CSS(2MB未压缩),但实际上只有10%的CSS被用于初始渲染。...我们一开始并没有使用那么多的CSS,只是随着时间的推移而增加,很少做删减。之所以会出现这种情况,部分原因是每一个新功能都意味要添加新的CSS。 我们通过在构建时生成原子化CSS来解决这个问题。...'c0 ' : 'c1 ') + 'c2 '} />; } (生成的JavaScript) 用于主题设计的CSS变量(暗夜模式) 在旧网站上,我们曾经尝试通过在body元素中添加一个类名来应用主题,然后用这个类名来覆盖现有的样式...这种方法有问题,它不再适用于我们新的原子化的CSS-in-JavaScript方法,所以我们改用CSS变量来进行主题切换。...这让我们可以将主题组合成一个单一的样式表,这意味着切换不同的主题不需要重新加载页面,不同的页面可以有不同的主题而不需要下载额外的CSS,不同的产品可以在同一个页面上并排使用不同的主题。

2.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    分享15个高级前端开发小技巧

    随着CSS自定义属性(变量)和clamp()函数的出现,响应式排版变得轻而易举。...随着CSS中column属性的出现,我们无需编写脚本即可实现复杂的多列布局。...无缝页面转换 创建无缝页面转换通常需要使用 JavaScript 来处理动画。使用滚动行为 CSS 属性,我们无需编写脚本即可实现平滑过渡。...涵盖的主题: 无需 JavaScript 的响应式排版:探索 CSS 自定义属性和用于创建响应式和可扩展文本的clamp()函数的世界。...从响应式排版和暗模式切换到图像延迟加载和无缝页面转换,这些技术展示了现代网络技术的灵活性和功能。 通过利用这些功能,开发人员可以创建复杂的交互式 Web 应用程序,同时保持干净高效的代码库。

    84911

    2024年,你需要了解下这 12 个现代化 CSS 新属性

    浏览器兼容性 2、object-fit 虽然这个属性已经出现了一段时间,但它解决了一个重要的问题,并且可以说是“一行代码”的升级。...浏览器兼容性 7、color-scheme 随着暗黑模式在用户界面中的普及,为网站或应用程序提供光暗主题切换成为了一种流行趋势。...设置此属性后,浏览器会自动调整表单控件、滚动条和CSS系统颜色等UI元素,以适应相应的主题模式。...特别是在有限维度的滚动区域(如侧边栏或滚动框),当滚动到达边界时,滚动行为可能会传递给背景页面,这可能会给用户带来不便。为了解决这个问题,CSS提供了一个属性overscroll-behavior。...当设置为contain时,它可以阻止滚动行为从一个滚动容器传递到其父容器或背景页面。

    2.4K10

    CSS变量实现暗黑模式,我的小铺页面已经支持

    这篇文章将告诉你如何实现一个自动的 CSS 暗模式,根据你的访客的主题来改变。 我在自己的博客页面我的小铺页面实践了一下用 CSS变量 和 @media查询 实现暗黑模式。 ?...CSS Dark Mode 我定义了变量以设置主题的颜色,我建议你也这样做,因为这样会使这个过程容易得多。...现在我们需要定义一组新的变量,这些变量将在调用 CSS 暗模式时使用。...如果有人使用深色操作系统主题并访问您的网站,您的网站现在将自动切换到黑暗模式。 下面是我博客博客小码页面,效果,支持手动切换和自动切换两种。...---- 现在,您应该拥有一个网站,该网站不仅在移动界面方面具有响应能力,而且在主题方面也具有响应能力。我敢肯定,您的深夜访客或只喜欢深色主题网站的访客会感谢您。 关注公众号,第一时间接收最新文章。

    1.9K10

    轻量级matcha.css,GitHub 近2k star,提升开发效率的CSS神器!助你快速打造优雅网页风格

    对中小型项目、个人博客、文档网站、原型页面等场景来说,Matcha.css 提供了即用即美的视觉体验,同时保留 HTML 语义结构,使用成本低,开发效率高。...暗模式自动切换:基于 prefers-color-scheme,支持深色主题自适应。代码高亮与编辑器样式:嵌入代码可用 highlight.js 样式,亦提供简单编辑器类样式。...技术架构剖析下面的架构图展示 Matcha.css 的模块结构和加载逻辑分层:技术优势梳理特性描述体积轻完整版约 7.2 KB,工具类版仅 2 KB。适合轻量项目使用。...应用场景推荐Matcha.css 非常适合以下场景:个人博客 / 技术文档:快速生成漂亮排版样式;原型页面 / MVP:无需花时间设计 CSS,快速验证想法;内网工具 / 仪表板:清爽兼语义,易于维护;...保留 HTML 语义结构与导入即美观的风格,节省大量 CSS 开发成本。无论是博客、文档页面,还是内部工具、原型平台,它都能让你用最少代价实现最优展示。

    13300

    网站如何适配暗色模式并实现手动、自动切换

    Windows10 1809版开始支持亮色/暗色主题风格。 Android 10 (API 级别 29)开始支持深色主题背景(第三方OEM厂商可能有所差异)。 iOS13开始全面支持暗色模式。...暗色标识符:由暗色/亮色按钮调用的JS实现存储在Cookies或localStorage内,用来提示JS展现那种页面配色。...而暗色/亮色的现实主要是,当需要给用户展现网站暗色配色时,在HTML内标签内加入class="night"。...同时,媒体查询存在一定的兼容性问题,浏览器版本过低(如:IE 9),在查询失败时: 则逻辑判断用户当前系统时间,根据时间显示暗色或亮色配色。...End 这个JS是在用户进入网站,加载到标签时,进行判断,是否需要在表情内加入class="night"。

    9.7K160

    《三次棘手技术困局的逻辑与避坑指南》

    它们可能披着“偶现异常”的外衣,或是以“性能骤降”的姿态突袭,甚至在跨平台移植时埋下兼容性的暗雷。...深入分析该组件后才发现,其内部通过定时器动态修改CSS类名以实现动画效果,而当父组件因数据更新触发重渲染时,定时器与重渲染过程形成竞争条件—两次样式修改操作在100毫秒内先后执行,导致CSS优先级冲突,...第二个困局发生在移动端应用开发中,随着功能迭代与数据量增长,应用出现了“渐进式性能衰退”—初期仅在加载大量图片时略有卡顿,后期连普通列表滑动都出现帧率骤降,甚至在处理复杂表单计算时触发系统的“无响应”提示...为定位瓶颈,我首先使用[移动端性能分析工具]进行全链路监测,发现CPU使用率在图片加载阶段高达95%,内存占用则随操作次数递增,且在退出页面后未明显回落。...我通过监听系统的“themechange”事件,动态切换应用的CSS样式表,确保文本与背景色在不同主题下保持合理对比度。

    8910

    hexo-theme-yun 制作笔记

    使用 CSS3 will-change 提高页面滚动、动画等渲染性能 继续做减法,移除默认不开启的 rymd(群星移动效果),挺吃性能,而且也没怎么优化页面展示效果。...(再加上所谓的节流函数) 关于滚动优化还有个 移动 Web 滚动性能优化: Passive event listeners 可以了解一下 看了苏卡卡大佬的 使 Disqus 不再拖累性能和页面加载...还看了小伙伴 ChrAlpha 的 Lazyload 不让 Valine 评论组件拖慢页面加载,打算也应用到主题的优化上来,但想到自己本来就是放在 DOMContentLoaded 里才初始化的,而且文章的阅读数也是直接用的...sidebar.js - v0.8.0 2020-06-01 亮暗模式 基础的暗色模式开发完成,我可以不用,但不能没有系列。 可以选择跟随系统亮暗模式。...不得不承认,最开始开坑时我主要是想写一个自用的主题,一是不想过于同质化(毕竟 next 真的是太 ?

    1.2K20

    博客添加暗色主题切换功能,从主题切换聊聊前后端cookies的使用

    A:有了新的主题样式,想要做到切换的功能,可以通过 js 实现,具体就是 js 定义方法,界面搞个主题切换的按钮,点击按钮触发切换方法,把新的主题 css 文件加载到当前页面即可。...比如提供 css 样式,你可以在现有的 css 文件的基础上面单独添加一份 css 文件加载到当前页面,也可以直接在原有的 css 文件中写一套样式,然后切换主题的时候可能只需要在页面中给整个个 body...,但是那个“闪光”的体验对于我这种追求完美的人来说是不能忍的,所以,还没完…… 上面提到的主题切换时的短时间“闪光”的原因是可知的,就是页面在加载的时候是先加载了亮色主题,然后由 js 文件里面方法加载的暗色主题...想要解决这个问题,那就只能让 css 文件不要通过 js 方法去加载,这样才能保证主题的覆盖没有过程。...css 样式在生效的时候出现“闪光”效果,可以说是非常完美了。

    70910

    Yur 主题更新日志

    完全重做,极致性能,更强的 SEO 全新 UI,带给你不一样的体验 全新布局,专注内容 更灵活的配置,自定义不一样的主题 # 2.2.4 修复文章列表布局 修复代码块首行前空格 修复导航菜单刷新问题 #...# 2.0.10 优化 UI 细节 优化顶部搜索下拉 移除加载动画 修复时间线页面文章排序 修复页面刷新导致导航收缩 修复 About 页面下箭头按钮不显示 修复 SSR 导致页面刷新报错 修复顶部搜索回车自动输入...修复友链页 CSS 无效项 修复落下帷幕与加载动画冲突 修复 window 未定义 # 2.0.0 优化 UI 细节 重构部分页面 新增多语言 SEO 增强 不支持直接升级,配置大幅度改动 # 1.4.3...新增密码保护 修复落下帷幕配置 更新 样式 更新默认支持的代码块语言 更新标签页布局 优化博文图片加载 修复 less 加载问题 修复默认图片加载 修复 ssr # 1.2.0 新增 404...页面背景图配置 新增标示牌配置 新增落下帷幕 新增定制主题 修复二级导航菜单选中状态 修复博文分页 修复百度主动提交 更新主题色 更新搜索下拉菜单样式 更新 Vssue 样式 优化首页头图 优化主题定制

    1K32

    【译】一文洞察 Chrome DevTools 近半年新增了哪些功能

    如果页面没有为图片和广告预留空间,当图片和广告加载完成,浏览器必须将其他内容下移而留出空间,这时内容可能会跳来跳去,这个问题就是布局移动。解决方案是使用 placeholders。...系统主题同步 如果使用操作系统的深色主题,DevTools 会自动切换到 深色主题。...当服务器向 service worker 发送信息时,将出现在 Push Messages。当 service worker 或页面脚本向用户显示信息时,会出现在 Notifications。...然后再次审核页面: ? 阻止有问题的脚本后,性能得分提高到了 97。...新增 Third-Party Usage 审核项可以判断页面请求了多少第三方代码,以及页面加载时第三方代码阻塞了主线程多长时间。 ?

    2.3K20

    我如何和 CodeBuddy 搭建「Gradia」渐变配色神器 —— 一场流动色彩的创造之旅

    但做着做着,又觉得要是能把功能做完整点,比如实时预览、复制 CSS、颜色收藏啥的,顺手切个主题,整体体验应该能好不少。...于是我随口问了下 CodeBuddy:“我想用 Vue 和 SCSS 写个渐变色生成器,支持预览、代码导出、保存颜色,还能切换亮暗主题。”...其实我原来还想自己拼 linear-gradient,但它已经封装好方法了,直接用就行,连复制 CSS 的按钮都顺带写好了。 我对页面视觉要求也不低,就让它把界面弄得现代点,有点“玻璃拟态”的味道。...切换主题呢,它推荐我用 CSS 变量加 class 来控制,亮暗模式在多个组件之间切得也挺自然。...虽然这个项目只是一个配色工具,但它让我意识到:一个人做项目时,要是有个靠谱的 AI 伙伴协助,那效率和体验确实是另一种维度的。

    10000

    Brieflee主题-把最好的送给你

    优化网页布局间隔。 搜索页新增关键词高亮功能。 优化侧栏留言头像间距不协调的问题。 修复导航栏高亮间距。 其他优化!...--.优化图片延迟加载。 --.精简代码。...兼容PHP5.6以下版本 更新其他用户登陆显示异常问题; 更新文章目录功能; 后台自定义开启,看图↓优化友情链接展示效果; 优化主题后台接口函数; 更新图片点击放大效果,源自宋朝插件。...新增主题SEO开关(为了兼容其他SEO插件)修复百度分享无法显示的BUG。 评论页面优化,修改显示楼层等信息; 修改插件兼容性; 优化网站板块之间宽度。...更新优化首页置顶信息; 修改css样式; 修改标题字数过多出现的不显示; 优化侧栏标签。 其他优化,想不起来了。

    68420

    twikoo仿段落评论,实现快速评论功能

    问题提出番茄小说Hexo段落链接说说卡片回复卡片回复效果 内容简述 实现亮暗模式适配 实现高分辨率适配,设置上下阈值,基本确保不会超出屏幕 动画效果适配 自动将节选段落放置在评论框中 解决文本中含有回车导致函数失效的问题...妥协方案 下面我们需要实现该功能,刚开始我选择的时使用和说说页面类似的效果,当点击评论后,找到评论区输入框,将选中文字放到输入框中,进行类似于回复段落的效果,但是由于我设置的懒加载,当评论区没有滚入到页面视野内时不会自动加载...const commentBox = document.querySelector(".el-textarea__inner"); 这样也就无法输入到文本框了,所以我刚开始想了个妥协的方法,就是当没加载评论框时弹出提示说没有加载...,但是因为他的评论区是只引入了一个twikoo,而我的评论区是双评论(其实屁用没有,不过当摆设倒是很高大上),导致他的样式和主题加载出来的有些不同,这里我没有记录截图,现在回退回去也有点麻烦,所以我就放一张正常的...这样我也不需要考虑多评论了,因为这个没有什么主题自带的模板格式,完全是我自己造的,想怎么来怎么来!

    35220

    【译】一文洞察 Chrome DevTools 近半年新增了哪些功能

    如果页面没有为图片和广告预留空间,当图片和广告加载完成,浏览器必须将其他内容下移而留出空间,这时内容可能会跳来跳去,这个问题就是布局移动。解决方案是使用 placeholders。...系统主题同步 如果使用操作系统的深色主题,DevTools 会自动切换到 深色主题。...当服务器向 service worker 发送信息时,将出现在 Push Messages。当 service worker 或页面脚本向用户显示信息时,会出现在 Notifications。...然后再次审核页面: ? 阻止有问题的脚本后,性能得分提高到了 97。...新增 Third-Party Usage 审核项可以判断页面请求了多少第三方代码,以及页面加载时第三方代码阻塞了主线程多长时间。 ?

    1.9K30

    WordPress 通过模板文件和自带的函数引入 cssjs 的两种方法

    WordPress 引入css/js 是我们制作主题时首先面对的一个难点,任何一款主题都要加载自己的 css,js,甚至很有可能还需要加载 Jquery 文件,网上方法特多,说法不一,我们今天借鉴 wordpress...官方最新的 twentysixteen 主题来学习总结一下 WordPress 引入 css/js 各种常用方法,以及最优化的加载方法。...> 但是 WordPress 不能确定是否在在页面加载了 JS,Css 文件,如果另一个插件使用相同的 JS,Css 文件,就无法检查 JS,Css 文件是否已经被包含在页面中。...用来在WP登录页面加载脚本和CSS 以下是这些钩子的示例: 问题来了:这部分内容显然是在 wp_footer 之前出现的,那么这段代码就在 jquery.js 文件之前出现了,导致该代码段实际上无法工作,因为调用 jQuery 方法的代码段必须比 jquery.js

    2.3K30

    每天10个前端小知识 【Day 15】

    并不存在于dom之中,只存在在页面之中。 :before 和 :after 这两个伪元素,是在CSS2.1里新出现的。...换句话说,其允许我们在不改变内容的情况下,改变页面的布局以精确适应不同的设备。 6.为什么会出现浮动?什么时候需要清除浮动?清除浮动的方式有哪些? 浮动元素碰到包含它的边框或者浮动元素的边框停留。...8.前端项目中为什么要初始化CSS样式? 因为浏览器的兼容问题,不同浏览器对标签的默认值是不同的,如果没有对浏览器的CSS初始化,会造成相同页面在不同浏览器的显示存在差异。...9.页面导入样式时,使用link和@import有什么区别?...link属于HTML标签,而@import是css提供的; 页面被加载时,link会同时被加载,而@import引用的css会等到页面被加载完再加载; @import只在IE5以上才能识别,而link是

    30010
    领券