-
float布局下渐变背景不显示的根本原因是浮动元素高度塌陷导致父容器无高度,需确保浮动元素有明确高度或内容撑开,同时避免与flex/grid混用,并正确书写linear-gradient语法。
-
fr单位按剩余空间分配而非容器总宽,受padding、gap、min-width影响;响应式需用repeat(auto-fit,minmax(280px,1fr));等高靠align-items:stretch或flex-column+margin-top:auto;IE11不支持fr,应降级为Flexbox。
-
Vue组件通信中异步数据问题的核心是子组件需具备未就绪状态容错能力:用v-if控制挂载、prop设默认值、模板用可选链、watch监听+immediate、provide/inject共享状态。
-
浏览器真正需要的是<metacharset="UTF-8">(必须最前防乱码)、<title>(否则标签页无名)、<base>(若使用则影响所有相对URL)、viewport(移动端必需)和X-UA-Compatible(仅IE8–11有效);CSSlink需在head中阻塞渲染以避免闪烁,script需defer/async避免阻塞解析。
-
HSL模式通过调节L(明度)和S(饱和度)可高效提升颜色对比度以满足WCAG标准;例如将深灰文字hsl(0,0%,30%)的L提至40%–45%,或链接色设为hsl(200,60%,45%),兼顾可读性与舒适度。
-
模板字符串可替代字符串拼接且更安全易读,但需正确使用反引号和${}语法,支持多行、表达式、函数调用;错误用单/双引号包裹会导致变量不解析;它避免拼接常见错误并天然支持可选链与空值合并;纯静态字符串、动态引号需求或极致性能场景下仍宜用字面量;标签模板函数可实现转义、沙箱等DSL能力,但插值逻辑应保持简洁。
-
轮播图卡顿主因是用left/top触发重排,应改用transform/opacity走合成层;预加载下一张图、设固定宽高防跳动;暂停需监听容器mouseenter/touchstart;无缝切换用DOM复用+瞬移重置。
-
常见错误是未将图片设为块级元素并设置宽高,因shape-outside仅对浮动块盒生效;SVG需内联、坐标对齐、配shape-margin;Firefox不支持外链SVG且仅认content-box/border-box。
-
CSS元素宽度设置无效通常因盒模型、内边距、边框或外边距干扰,关键要区分width控制的是内容区还是整个盒子;默认content-box下width不包含padding和border,改用border-box可使width包含二者,同时需检查父容器限制、display类型及margin/padding视觉干扰。
-
JavaScript状态管理核心是让数据变化可预测、可追踪、可复用;轻量方案如手写发布-订阅、Zustand、Jotai、Valtio各具优势,关键在清晰划分状态边界。
-
once是addEventListener的布尔型配置项,设为true时监听器仅执行一次后自动移除;适用于初始化、防重复提交、动画回调等场景,不支持IE。
-
能,但需正确设置viewport元标签、合理选择rem/vw单位并按内容而非设备设断点。viewport须置于head最前且写全参数;rem宜JS动态设置,vw需防iOS键盘干扰;断点应基于容器宽度和内容布局需求,辅以容器查询与真机多场景验证。
-
必须用Math.sin和Math.cos,因为环形布局本质是极坐标转直角坐标,需通过角度和半径精确计算每个按钮的x、y像素位移,CSS无法动态执行三角函数,JS计算是唯一可靠路径。
-
Map比普通对象快在支持任意类型键且哈希表实现O(1)查找,而对象仅支持字符串/Symbol键,非字符串键易因toString()冲突;正确序列化多参数需用JSON.stringify或模板字符串;防缓存爆炸应加LRU限制与参数稳定性评估。
-
可通过JavaScript实现HTML页面中数值的实时相加并显示:一、oninput事件监听输入框动态计算;二、onclick按钮触发计算;三、formsubmit事件捕获并阻止刷新;四、封装addNumbers函数支持多值相加;五、cleanNumber函数清洗带单位或逗号的字符串数值。