-
aside是语义标签,非视觉侧边栏;仅适用于与主内容有逻辑附属关系的补充信息,如术语解释、作者简介等,必须配合CSS(如flex/grid)实现布局,删除后主内容须仍完整自洽。
-
font-display:swap是必须配置的底线措施,它强制用备用字体立即渲染再替换自定义字体,避免FOIT/FOFT闪烁;须写在@font-face中,配合document.fonts.ready确保字体真正可用,并选用度量值相近的fallback字体。
-
本文详解ReactRouterv6中PrivateRoute和PublicRoute自定义守卫的常见错误——误用component属性而非children,并提供可直接复用的修复方案、使用示例及关键注意事项。
-
HTML5表单submit事件未触发的主因是浏览器未识别点击为提交操作:button未设type="submit"、input类型非submit/image、preventDefault后未补救、约束验证失败、pattern格式错误、autocomplete干扰或DOM状态异常。
-
统一表单控件样式需重置appearance、显式定义边框背景内边距,自绘select箭头,用CSS变量暴露主题色等可覆盖属性,配合:focus-visible与键盘测试保障可访问性。
-
原型链的本质是对象的proto指向其构造函数的prototype;它基于[[Prototype]]内部属性实现动态属性查找,以Object.create()构建更安全,class只是语法糖,核心仍是原型继承。
-
用<canvas>模拟终端最轻量可控,DOM方案因光标定位、输入法兼容、滚动不一致及重排卡顿等问题易翻车;Canvas核心是清屏、逐行绘制、光标更新三步,需严格帧同步。
-
::after清除浮动失效的根本原因是伪元素默认display:inline,无法触发BFC且不撑高父容器;必须同时满足content非none(如"")和display为block/table/flex等块级显示值。
-
使用position:sticky可实现导航按钮滚动时始终可见。1.基本语法:设置position:sticky和top值,使元素在距视口顶部指定距离时固定;2.调整top值可控制吸附位置,如top:10px避开头部内容;3.确保父容器未设置overflow:hidden、scroll或auto,避免sticky失效;4.实际应用中,为nav添加sticky、背景、阴影等样式,可提升用户体验。关键点:启用sticky定位、合理设置top偏移、避免父级overflow限制。
-
::selection伪元素不继承父元素颜色,必须显式设置color和background-color;仅支持有限样式,需加浏览器前缀,对input/textarea无效,且无法用z-index调整层级。
-
before()方法用于在被选元素前插入内容,作为兄弟节点出现;2.可插入HTML字符串、DOM元素、jQuery对象等;3.与prepend()(内部插入)和after()(后置插入)不同,before()在外部前置内容。
-
JavaScript的函数式风格指以纯函数、不可变数据、声明式组合为核心的编程范式,要求函数无副作用、不修改状态、用const替代let/var,并通过pipe/compose组合单参数纯函数。
-
Object.defineProperties可批量配置带权限控制的属性描述符,核心是将读写权限、隐藏逻辑封装进get/set,通过统一策略函数canAccess动态控制访问行为,避免硬编码重复判断。
-
直接用PerformanceObserver监听"first-input"是唯一准确获取真实FID的方式;FID(entry.duration)量化主线程卡顿程度,即用户操作到浏览器开始处理间的阻塞时长。
-
JavaScript类型转换分显式和隐式两种。显式转换通过Number()、String()、Boolean()手动转类型;隐式转换在运算时自动发生,如+操作符触发字符串拼接,数学运算符触发数字转换,逻辑判断依据真值表。使用==时会进行类型转换,推荐用===避免意外。对象转原始值调用valueOf()或toString(),数组加空字符串即转为字符串。掌握这些规则可减少bug。