-
<var>是纯语义HTML标签,仅用于解释性文本中标识变量名,不参与JavaScript运行、CSS变量解析或代码高亮逻辑,不可嵌入<code>内,也不具备数据绑定能力。
-
使用百分比宽度和max-width可防止元素溢出屏幕,结合box-sizing:border-box和overflow-x:auto处理特殊内容,确保响应式布局适配各类设备。
-
HTML兼容性问题靠标准声明+特性检测+降级兜底三层解决:DOCTYPE必须首行无空格,html5shiv需配display:block规则,用Normalize.css统一默认样式,JS用存在性检测而非UA判断,构建配置须精准覆盖目标浏览器。
-
overflow:hidden并非专为清除浮动设计,而是因触发BFC使父容器包含浮动子元素;但会裁剪溢出内容,导致弹层、fixed元素被截断或移动端滚动异常,现代推荐display:flow-root或Flex/Grid布局。
-
应使用addEventListener('dblclick')而非ondblclick属性,因后者存在this指向错误、无法传参、不可移除、框架不兼容及浏览器双击判定差异等问题;正确做法是绑定'dblclick'事件并配合节流处理单双击冲突,移动端需用pointerdown自行实现双击检测。
-
要消除动画首帧延迟,需用will-change精准预告即将变化的transform或opacity等可合成属性,并在交互时动态添加、动画结束立即移除,配合DevTools验证图层是否真正生成。
-
纯CSS可实现侧边栏左右拉伸,但仅WebKit浏览器(Chrome/Safari/Edge)支持通过::-webkit-scrollbar扩展拖拽区域为竖线;Firefox仅限右下角小区域且不支持该扩展,属浏览器限制而非写法错误。
-
Vue项目离线缓存异步路由需预缓存带哈希的JS/CSS分块文件,并配置navigateFallback至/index.html,配合history模式与前端路由兜底,确保断网时仍可访问/about等页面。
-
<p>data-*属性仅用于存储静态、轻量、非敏感的上下文信息,命名须小写连字符(如data-order-status),JS中通过dataset.orderStatus访问,写入必须用setAttribute,值恒为字符串且明文可见。</p>
-
CF_HTML是Windows剪贴板中用于传递带样式HTML片段的特定格式,需用navigator.clipboard.write()配合text/html与text/plain双格式Blob写入,并严格遵循StartFragment/EndFragment等结构规范。
-
Symbol是JavaScript中的原始类型,用于创建唯一不可变值,常作为对象属性键以避免命名冲突。通过Symbol()函数生成,即使描述相同也互不相等,确保唯一性。Symbol属性不会被for...in或Object.keys()遍历,需用Object.getOwnPropertySymbols()访问。可用于模块间安全添加属性,防止覆盖。内置well-knownSymbols如Symbol.iterator、Symbol.toStringTag可自定义对象行为,实现可迭代、修改toString结果等
-
CSS变量更新后:hover动画不更新,因浏览器懒触发样式重算,仅在鼠标移入时读取变量快照;calc()混用、旧浏览器不支持动态变量、未触发hover状态均会导致失效。
-
HTML跨浏览器适配靠三件确定性动作:DOCTYPE顶格声明、normalize.css统一默认样式、用特性检测而非UA判断JS能力;漏掉任何一件,IE或旧Safari中CSS和JS均可能失效。
-
纯CSS可实现3D文字效果:用text-shadow多层偏移模拟纵深(兼容性好、轻量),或用transform-style:preserve-3d+transform实现真3D分层(需字符包裹span、父容器设perspective和preserve-3d);字体选择、抗锯齿设置及设备适配至关重要。
-
Object.isFrozen不能判定“全局单例是否处于只读安全期”,它仅检测对象是否浅层冻结(不可扩展、属性不可配置且不可写),不感知初始化完成、运行时锁、并发安全或深嵌套可变性。