-
counter-increment必须配合::before或::after的content属性才能显示编号,仅设置counter-increment仅在后台计数;content必须使用counter()或counters()函数,后者需带引号的分隔符字符串,如".",且作用域受counter-reset限制。
-
能,HTMLhistoryAPI仅支持前端路由与状态变更的回溯,通过pushState/replaceState记录URL和轻量state,不捕获输入、滚动等行为,需手动同步业务状态,非通用操作快照工具。
-
gap比margin更可靠,因其是布局层原生间隔控制,不参与盒模型计算,不触发重排、不影响justify-content对齐;而margin模拟易在动态增删或响应式时出错,且无法实现容器边缘留白。
-
按钮没响应需分四步排查:①确认事件是否成功绑定,检查DOM加载时机和选择器正确性;②排除默认行为干扰,如href="#"跳转或preventDefault误用;③检查CSS遮挡,如pointer-events:none或父层溢出裁剪;④事件委托时注意target与currentTarget区别,优先用closest()匹配。
-
transition可实现CSS样式平滑过渡,通过property、duration、timing-function和delay四个子属性控制动画效果,常用于鼠标悬停等交互场景。
-
JavaScript国际化通过IntlAPI实现格式化,并结合语言包或i18next等库管理多语言文本,支持动态加载与用户偏好识别,提升用户体验。
-
直接给<tr>设height基本无效,应通过<td>/<th>的height、line-height、vertical-align、padding及box-sizing联合控制行高,多行内容需用max-height或flex布局处理。
-
HTML表格通过table、tr、td、th标签构建,用于清晰展示数据。示例包含姓名、年龄、城市三列,使用border-collapse合并边框,提升可读性与语义化,便于SEO和辅助技术识别。
-
不能。structuredClone是同步深拷贝函数,不参与通信流程,仅预处理数据以提升postMessage克隆安全性与类型保真度;它无法替代postMessage的序列化和传输功能。
-
直接写CSS易致样式不一致,因命名、重置、单位等无统一规范;CSS框架通过集中定义变量与约束消费实现一致性,Tailwind适合精细控制,Bootstrap适合快速原型,自建原子类适配现有SCSS架构;老页面应双轨并行、渐进替换,并注意作用域、构建配置及团队协作规范。
-
齿轮动画需用steps()实现顿挫感而非linear匀速,选24步匹配常见齿数,配合SVG精确齿形、居中transform-origin和≥1.5s时长,才能呈现真实“咔哒”机械节奏。
-
removeEventListener移不掉的根本原因是传入的函数引用与addEventListener时不一致,且options参数必须完全相同;闭包、箭头函数、bind()新实例及options不匹配均导致失败。
-
Class是构造函数的语法糖,本质仍是函数对象,未改变原型继承模型,仅收拢prototype操作;差异在于语法约束(如不提升、严格模式、必须new调用)和协作友好性。
-
归档页核心是按年份高效分组并倒序排列文章,需确保日期为ISO格式、预提取年份、服务端分组须先排序且用annotate抽字段、Thymeleaf用LinkedHashMap保序。
-
现代浏览器(Chrome76+、Edge79+、Firefox75+、Safari15.4+)已原生支持loading="lazy",但iOSSafari15.4前及微信旧版WebView不识别;仅对<img>和<iframe>生效,须配合src/srcset使用,且需确保图片有明确宽高以防误加载。