-
font-display:swap是必须配置的底线措施,它强制用备用字体立即渲染再替换自定义字体,避免FOIT/FOFT闪烁;须写在@font-face中,配合document.fonts.ready确保字体真正可用,并选用度量值相近的fallback字体。
-
模块模式通过闭包封装私有状态,解决全局变量污染问题;观察者模式实现发布-订阅机制,降低组件耦合;工厂模式统一对象创建,隐藏实例化细节。合理使用这些模式可提升代码可维护性与团队协作效率,但应避免过度设计,优先选择清晰简单的实现,结合工具固化最佳实践,重点在于解决实际问题而非套用形式。
-
推荐使用display:flex+justify-content:flex-start实现图片左对齐,不破坏文档流;float:left已过时且需clear:both清除浮动;text-align:left需作用于父容器且图片保持inline;注意vertical-align和全局样式干扰。
-
HTML中font-size最可靠方式是CSS属性而非废弃的<font>标签;推荐使用rem单位配合viewport设置和根元素重置,兼顾响应式与可访问性,并注意font-size-adjust等属性优化多字体渲染一致性。
-
wkhtmltopdf是生成可搜索PDF最可靠方案,因其基于WebKit将HTML标签转为矢量文本图层,支持复制、搜索与屏幕阅读;需加--enable-local-file-access参数并指定中文字体如NotoSansCJKSC。
-
:target伪类失效主因是目标元素缺失id或id值与URL片段不严格一致;它仅匹配带对应id的唯一元素,不支持name、class等其他属性,且id区分大小写、需匹配解码后字符。
-
根本差别在于是否愿为一致性、响应式适配、重复样式收敛持续手动维护;手写CSS易失控因命名冲突、断点不一、单位混乱、伪类覆盖难;Tailwind用原子类规避问题但HTML变冗长;Bootstrap省设计决策时间但受限于其设计边界。
-
用computed实现全选/反选:selectAll为有getter/setter的计算属性,getter判断是否全选,setter批量更新子项;isIndeterminate判断半选状态并绑定:indeterminate;子项v-model绑定各自checked;另可computed获取已选ID数组。
-
HTML本身无定位精度概念,所谓“精度问题”实为CSS定位在像素映射、子像素渲染、缩放或高DPI屏幕下的表现偏差;推荐用transform:translateY(1.5px)替代top/left以绕过舍入误差。
-
Grid布局需先设display:grid;gap统管行列间距;用grid-template-areas+@media切换结构更可控;auto-fit配合minmax实现自适应列数;注意grid-auto-flow隐式行为。
-
浏览器因服务端未返回Access-Control-Allow-Origin响应头而拦截跨域请求;需后端配置CORS头或前端开发期用Viteproxy代理绕过,且credentials为include时Origin不能设为*。
-
订单确认页需语义化结构(用<dl>替代<div>)、动态金额aria-live提示、按钮禁用逻辑显式校验、移动端地址折叠防失焦、地址弹层用inert锁定背景、电话字段适配键盘、取消入口置于订单号下方。
-
抖动动画应使用transform:rotate()配合animation,旋转角度控制在±2°~±5°,配合transform-origin、0.3s~0.5s动画时长、cubic-bezier(0.45,0.15,0.55,0.85)缓动函数及animation-fill-mode:forwards。
-
CSS变量是ShadowDOM中唯一原生支持的安全样式穿透机制,因其求值延迟特性可沿继承链跨影子边界查找;需在宿主或祖先声明,配合fallback并注意兼容性与命名规范。
-
模块化+状态驱动实现A/B测试的清晰切换与高可维护性,通过解耦变量、策略、渲染层并以统一状态控制行为流向。