-
组件API设计应以开发者体验为核心,优先暴露语义化属性(value、min、disabled)和事件/方法控制状态,避免过度暴露内部属性;attributeChangedCallback需防批量触发与死循环;对外方法统一返回Promise;slot与事件才是核心扩展点。
-
教育网站HTML布局须用语义标签+流式控制:课程模块用带标题的<section>,时间用<timedatetime>,导航用带aria-label的<nav>(限2–3个),主结构用grid、内部对齐用flex。
-
HTML页面乱码主因是编码声明与文件实际保存编码不一致,需确保编辑器保存格式、<metacharset>标签、HTTP响应头三者统一为UTF-8且无BOM。
-
HTML5资源无法显示通常因路径错误,解决方法包括:一、相对路径(如src="images/logo.png");二、绝对路径(如src="/media/video.mp4");三、dataURL内联小资源;四、base标签统一基准路径;五、避免file://协议安全拦截。
-
float元素文字不环绕而换行,主因是后续块级容器未清除浮动或未触发BFC,导致无视浮动剩余空间;父容器塌陷也会造成视觉错位;文字需处于同一块级容器内的内联上下文中才可环绕。
-
能用但需兼容处理:Chrome/Edge111+、Safari16.4+原生支持,Firefox不支持;lab()基于人眼感知均匀色空间,明度L与色度a/b更符合视觉差异,适用于灰阶控制、可访问性对比度及自然颜色插值,需回退rgb()、@supports检测并截断a/b值。
-
margin:auto在flex中仅在有剩余空间的主轴或交叉轴方向生效;主轴填满时单侧margin无效,四边auto仅当两轴均有剩余空间才居中,IE11不支持单方向auto。
-
使用100%宽度和box-sizing:border-box确保输入框适配容器;2.通过@media(max-width:768px)调整字体和间距提升可读性;3.添加viewport元标签防止缩放问题;4.设置最小高度44px并预留外边距优化触屏体验。
-
最简实现是用onclick修改img的src,配合图片数组和取模索引轮转;多图区域应改用data-index绑定状态;切换时需用transitionend事件控制淡入淡出;加载失败须先清onerror再设备用图。
-
标记-清除是V8等现代引擎唯一依赖的核心垃圾回收算法,它从根(如window、调用栈变量)出发递归标记可达对象,未被标记的循环引用对象也会被清除;常见泄漏点包括未清理setInterval、DOM移除后未解绑事件监听器、闭包过度捕获及console.log隐式保留引用。
-
v-pre不提升编译速度,仅跳过指定元素及子节点的编译,原样输出HTML;适用于纯静态内容如示例代码、第三方HTML等,不可用于含响应式语法的区域。
-
padEnd比空格拼接更可靠,因其严格按JavaScript字符数(UTF-16codeunit)补全,避免手动计算时因中文、emoji等字符视觉宽度不一导致的错位;它不依赖字节或渲染宽度,确保逻辑长度一致。
-
transition-duration属性用于设置CSS过渡动画的持续时间,值越长过渡越慢,单位支持秒(s)和毫秒(ms);可为不同CSS属性指定不同的过渡时长,如background-color用0.3s、transform用0.6s;结合transition-timing-function(如ease、linear、ease-in-out)可调整过渡的速度感,使动画更自然;常见场景中,悬停效果建议0.2s-0.4s,菜单展开0.3s-0.6s,页面切换0.5s-1s,避免过短或过长影响体验。
-
必须调用super(),因为ES6要求子类构造函数访问this前须先执行父类构造函数以初始化实例内部结构和原型链,否则会抛出ReferenceError。
-
返回顶部后快速定位锚点失效,主因是DOM未就绪或滚动目标被覆盖;需确保元素挂载完成再执行scrollIntoView,并用scroll-margin-top补偿固定头部遮挡。