-
div是块级元素,span是行内元素:div默认独占一行、支持完整盒模型属性;span默认不换行、只包裹内容宽度、垂直方向样式受限;语义上div用于结构布局,span用于文本局部样式化。
-
<nav>标签仅用于页面主要导航区块,必须包裹全局跳转链接,需配aria-label或aria-labelledby,内部宜用<ul><li><a>结构,禁用非导航内容、伪链接及冗余role属性。
-
需借助HTML5的FileAPI与FormData实现图片选择、预览及上传:一、用input[type="file"]获取图片文件;二、用FileReader读取为DataURL实现预览;三、用FormData组织数据;四、用fetch或XMLHttpRequest发送至服务器。
-
并排显示两个div的最优方案是display:flex,因其无空白符间隙、无需清除浮动、父容器自动包裹且支持现代布局控制;inline-block易受HTML空白影响,float已过时且需清除塌陷。
-
Promise有pending、fulfilled、rejected三种状态,状态一旦改变不可逆;2.通过then方法注册回调并返回新Promise实现链式调用;3.回调异步执行,使用queueMicrotask模拟微任务;4.resolvePromise函数处理then返回值,若为Promise则递归解析,否则直接resolve;5.需防止循环引用和多次调用,确保错误冒泡。
-
换图标前需先确认引用方式:检查<linkrel="icon">、<linkrel="apple-touch-icon">、图标字体或SVGSprite;再替换多尺寸图标文件并更新对应HTML标签,注意sizes属性与实际尺寸一致,同时处理缓存问题。
-
下拉刷新在纯HTML中完全无效,因为HTML是静态标记语言,无事件循环和手势监听能力,必须依赖JavaScript通过touch事件、CSS位移与过渡及手动数据获取实现。
-
怎么用data-*属性实现维度切换而不刷新页面靠location.hash或URL参数做切换最省事,但容易和路由冲突;用data-属性配合JS控制更轻量、更可控。关键是把维度状态存在元素上,而不是靠DOM位置或class名硬编码。data-dimension="time"、data-dimension="type"、data-dimension="hot"统一作为触发器的识别依据点击按钮时只改data-active-dimension在容器上的值,不删增class,避免
-
最常见原因是name属性严格区分大小写:<slotname="Footer">仅匹配slot="Footer",slot="footer"会被丢入默认插槽或忽略;该规则由HTML规范强制定义,所有浏览器均严格执行。
-
纯CSStext-shadow是实现长阴影的首选,需控制偏移步长与颜色衰减(如rgba(0,0,0,0.08)),8–12层、dx/dy递增、blur=0、无衬线粗体为佳;SVGfilter更适合响应式缩放场景;伪元素skewX()方案轻量但SEO不友好且易失真;Web字体加载失败会导致阴影错位,须用font-display:swap和fontloadingAPI兜底。
-
<p>HTMLCollection总是动态的,由getElementsBy*方法返回,自动响应DOM变化;NodeList可能静态(如querySelectorAll返回)或动态(极少见),现代浏览器中childNodes也返回静态NodeList。</p>
-
移动端CSS过渡失效主因是属性不可合成、未启硬件加速、层叠上下文截断及touch事件延迟;应优先用transform/opacity、加translateZ(0)、touchstart即时触发、≤0.2s短时长并降级适配低性能设备。
-
在Jest中测试HTML元素类型(如HTMLLabelElement)时,需启用JSDOM环境并正确配置TypeScript类型支持,否则会因全局DOM接口未定义而抛出ReferenceError。本文详解配置步骤、代码写法及常见陷阱。
-
URLSearchParams是JavaScript原生接口,用于安全解析和构造URL查询参数;适用于读取地址栏参数、拼接带参链接或动态更新搜索条件等场景。
-
推荐用grid-template-columns:repeat(auto-fit,minmax(280px,1fr))实现自适应列数,auto-fit合并空轨道,minmax控制每列弹性范围,配合box-sizing:border-box和卡片内部流式布局,避免固定宽高导致错位。