-
:active无法实现导航栏“点击后保持展开”,因其仅为瞬时伪类,不记录状态、不触发重排、不能配合display或max-height过渡;正确做法是用JS切换.active类并结合CSS过渡与可访问性支持。
-
HTML是标记语言而非编程语言,应聚焦文档结构;需手写基础标签、用LiveServer预览、厘清class/id用途差异、阻止表单默认提交,并通过DevTools实时调试。
-
用CSSGrid实现徽章墙需使用grid-template-columns:repeat(auto-fill,minmax(120px,1fr)))实现等宽自适应,配合gap控制间距;SVG图标用vertical-align:middle和em单位确保居中与缩放;状态通过badge--earned/badge--locked类控制,焦点交互兼顾:hover与:focus-visible,并设置min-width防止过度压缩。
-
JavaScript无法自由改变主浏览器窗口大小,仅能通过resizeTo()或resizeBy()调整由window.open()创建的同源弹出窗口;现代浏览器出于安全与用户体验限制此操作。主要应用是响应窗口变化:通过监听resize事件、结合innerWidth/innerHeight获取视口尺寸,并利用window.matchMedia()实现与CSS媒体查询同步的动态布局调整,用于响应式设计中的内容适配、资源加载和组件行为控制。
-
最有效方案是使用Cross-Origin-Resource-Policy:same-origin响应头,现代浏览器会静默拦截跨站CSS加载;需配合Referer检查兜底旧浏览器,并清除缓存确保新策略生效。
-
作用域链在函数创建时就确定了,通过[[Environment]]静态绑定外层词法环境;with和非严格eval会动态插入环境;闭包捕获整个词法环境而非变量值;模块、函数、块级作用域对应不同环境类型。
-
伪元素不渲染的首要原因是content属性为空或缺失,此时浏览器直接跳过渲染;即使写了::before/::after,若content为none、空字符串""(显式设置时合法)或未声明,则均不生成盒模型。
-
flex-direction在RTL下不会自动翻转,需手动用[dir="rtl"]设置row-reverse;justify-content:start随dir自动映射,而flex-start始终固定主轴起点;writing-mode影响align-items语义;flex-wrap折行起点在RTL下为右下角。
-
HTML5警告提示有四种实现方式:一是用alert()同步弹窗;二是自定义div层实现非阻塞式提示;三是用dialog元素创建语义化模态框;四是封装支持多类型的轻量级警告函数。
-
最轻量方案是用dialog元素,语义清晰、可访问性好,但Safari15.4前不支持;需fallback到带aria-modal和焦点管理的div;注意scroll-behavior、链接安全及法律有效性。
-
应将watch与副作用整体封装为useXxx组合函数,如useFormValidation、useSearchSuggestion;优先用watchEffect自动追踪依赖;按业务域限定监听边界,避免跨域耦合;内部配合onBeforeUnmount自动清理,确保内存安全。
-
JavaScript中的this在函数执行时根据调用方式动态决定:默认绑定(非严格模式指向全局,严格模式为undefined)、隐式绑定(obj.method()中this指向obj)、显式绑定(call/apply/bind手动指定)、new绑定(优先级最高,指向新实例)。
-
禁用滚动文字选中变色需对滚动容器设置user-select:none;若含可交互子元素须单独设auto;marquee标签需外层包裹并设样式,不可直接作用于marquee自身。
-
HTML图片对齐用CSS而非废弃的align属性,常用float、vertical-align、Flex布局或绝对定位;Bun通过bunserve快速预览HTML,但需注意路径匹配和服务限制。
-
JavaScript时间复杂度衡量执行时间随输入规模的增长趋势,核心是识别最频繁操作并用大O记号表示;单层循环通常O(n),双重嵌套常O(n²),但双指针等优化结构仍可保持O(n)。