-
letter-spacing用于调整字符间光学间距,不影响盒模型和换行;适用场景包括英文标题收紧、中文字体可读性微调、修复小字号粘连;不可用margin/padding替代,禁用空格模拟,中文常用-0.5px~1px,英文大写可用2px或0.1em。
-
match()提取匹配内容返回数组或null,search()定位首个匹配位置返回索引或-1;前者关注“有哪些”,后者关注“在哪”,用途、返回值及标志支持均不同。
-
要实现导航栏初始透明、滚动后变色,应使用rgba()控制background-color透明度而非opacity;通过监听scroll事件并用requestAnimationFrame节流切换CSS类(如nav-transparent/nav-scrolled),配合transition实现平滑过渡;注意文字对比度、移动端fixed适配及首屏视觉锚点。
-
:first-child是CSS伪类,匹配父元素下第一个子元素且标签名与选择器一致;它按位置匹配,而非类型,若首个子元素非目标标签则不生效。
-
SharedArrayBuffer与Atomics可实现跨Worker无锁队列,关键用compareExchange原子更新读写指针,配合环形缓冲区设计(头部元数据+数据区),需启用跨域隔离策略并注意内存对齐与传输方式。
-
正确做法是保留controls="true",用绝对定位遮罩层覆盖原生控制条并控制opacity和pointer-events;遮罩层需设position:absolute、height:36px(iOS44px),外层容器为position:relative;JS需区分mouse/touch事件,触屏用touchstart单次触发+5s延时,桌面端mousemove重置2–3s计时器;遮罩层必须加aria-hidden="true",确保可访问性。
-
必须写<metaname="viewport"content="width=device-width,initial-scale=1.0,viewport-fit=cover">,否则iOSSafari横屏或刘海屏下页面被系统UI裁切;需配合env(safe-area-inset-*)变量与CSSfallback(如max(12px,env(...)))实现安全区域适配。
-
HTML注释用于添加说明或隐藏代码,提升可读性与协作效率。1、用<!--开头,-->结尾,中间写描述文字,如“导航栏开始”。2、编辑时直接修改注释内容,确保语义准确。3、删除过时注释需移除整个标记段并整理格式。4、条件注释如<!--[ifIE]>仅限旧项目兼容使用。
-
position:sticky不能真正固定在视口,它仅在具有滚动机制的最近祖先容器内粘滞,受父容器高度、overflow、层叠上下文等限制,超出边界即失效。
-
background-attachment:fixed失效是因祖先元素触发合成层(如transform、perspective、will-change),导致其退化为scroll;应检查Layers面板,避免在body写背景,优先用html承载,并考虑iOSSafari兼容性降级。
-
<cite>标签语义始终为作品标题,HTML5起不再默认斜体且不隐式关联来源;须用<a>包裹实现链接,禁用<blockquotecite>,引文出处应显式置于<footer>或微数据中。
-
HTML响应式开发需用外部CSS文件+viewport声明,配合移动优先的媒体查询、vw/vh/clamp()单位,以及touch-action、IntersectionObserver等性能优化手段。
-
JavaScript高阶函数指接受函数为参数或返回函数的函数;map对数组每项执行变换并返回等长新数组,reduce则将数组聚合为单个值,二者均不修改原数组。
-
WebAssembly不会取代JavaScript,二者是协作关系;Wasm无DOM访问能力,纯计算任务更高效,JS负责I/O和UI;调用需通过instantiateStreaming加载并检查导出函数,注意内存泄漏。
-
JavaScript常用设计模式包括单例、观察者、工厂、策略等,其中单例确保全局唯一实例,常通过静态属性或模块导出实现;观察者模式实现一对多依赖通知,发布-订阅则进一步解耦为事件中心通信。