-
CSS选择器能作用于动态元素,是因为浏览器在DOM更新后自动重新匹配样式。当JavaScript添加新元素时,只要其结构符合CSS规则,渲染引擎便在样式重算阶段为其应用对应样式,结合继承机制与实时渲染流程,确保视觉一致性。
-
真正有效的DOM打点必须锚定在浏览器确认“内容已就位”的稳态节点上:单次插入用requestAnimationFrame检查挂载与offsetHeight>0,批量操作验证getComputedStyle可见性,按准备/写入/布局分层命名且不重复,通过链路ID控制唯一性,并用performance.getEntriesByName验证落点。
-
-webkit-tap-highlight-color:transparent仅对可点击且可聚焦的元素自身生效,不继承、不全局作用;需显式写在目标节点(如button、[role="button"])上,并确保viewport正确、语义完整,AndroidChrome62+已不支持。
-
使用CSSMediaQuery可实现响应式布局,1.通过@media规则根据屏幕宽度设置断点适配不同设备;2.可检测方向、分辨率等特性精细控制样式;3.推荐移动优先策略,先定义小屏样式再逐步增强;4.建议用em单位、添加viewport标签并保持断点简洁,结合Flexbox或Grid布局提升适配效果。
-
initial-letter在Chrome/Firefox中不生效,是因为浏览器尚未原生实现该属性:Chrome119+需手动开启实验标志才支持,Firefox至今完全不支持,AndroidWebView及旧版Safari亦无实现。
-
数据大屏粒子背景需绑定容器尺寸、禁用滚动与鼠标交互、适配高分屏且透明不遮挡;canvas宽高须基于容器rect和devicePixelRatio动态设置,tsparticles须关闭autoSize和fullScreen并禁用hover/click。
-
blockquote必须闭合,否则浏览器自动修复会导致布局错乱、footer消失、cite失效及屏幕阅读器朗读异常;cite属性须为完整URL,专标来源而非作者;footer与cite是语义闭环必备,须正确嵌套并适配深色模式样式。
-
track元素kind属性仅有5个合法值:“subtitles”“captions”“descriptions”“chapters”“metadata”;其他值被忽略或降为“metadata”;各值用途、渲染行为及兼容性要求均不同,且需满足HTML结构、属性和响应头等前提条件才能生效。
-
视频课程页面需同时解决播放控制、目录跳转、响应式布局、移动端静音拦截四件事;video必须加muted+autoplay+playsinline(含webkit前缀),双source兜底,preload="metadata",目录跳转须currentTime+play()显式触发并捕获错误,卡片用grid+aspect-ratio,禁用页面滚动改用容器滚动,错误时回退poster图,跳转逻辑与播放状态须解耦。
-
用dataset属性标记本地修改但未同步的DOM元素,需用JSON.stringify序列化原始值存入data-original,编辑时同步当前值到data-current并比对,配合localStorage存最小patch实现离线冲突识别。
-
Generator自动执行器不解决分布式“分布”问题,但通过线性化、可中断恢复的控制流,封装请求意图并由执行器统一注入服务发现、重试、熔断、traceId透传等横切逻辑。
-
width变化不触发transition需确保元素有明确数值宽度(非auto)、写在默认状态而非hover中、行内元素设为block/inline-block;优先用max-width或flex-basis替代width过渡。
-
JavaScript中对象需实现迭代器协议(即拥有返回{value,done}对象的[Symbol.iterator]方法)才支持for...of等操作;普通对象默认不满足,可通过生成器函数简洁实现,自动处理状态与惰性求值。
-
浏览器右键“另存为”仅保存HTML文档本身,不包含CSS、JS、图片等外部资源,导致样式错乱、功能失效;Chrome/Edge默认保存为“Webpage,Complete”但受限于同域和静态资源,Firefox默认仅保存HTML;curl/wget适用于获取原始HTML源码,Puppeteer可保存JS渲染后的完整DOM。
-
在Vue2中,直接修改数组中对象的属性(如item.price=...)不会触发视图更新;必须用this.$set显式通知Vue数据变化,且需作用于响应式数组的索引位置,而非对象内部。