-
HTML模块复用需在构建期介入,用posthtml-include等工具将header.html等片段内联为标准HTML,避免fetch动态注入导致的样式丢失、脚本不执行及SEO问题。
-
HTML转PDF样式丢失主因是媒体查询和相对单位被忽略,需强制启用样式、换用pt/mm单位、显式写@mediaprint并嵌入中文字体;动态内容需等待JS执行完毕;PDF体积大或文字不可选源于图片base64和字体未嵌入。
-
required属性失效的5种常见原因:1.用在非支持元素上;2.元素被disabled或hidden禁用;3.inputtype不支持required;4.非原生submit事件触发提交;5.JS清空值后未重置validity状态。
-
srcset应根据图片容器是否固定宽选择x或w描述符:固定尺寸用1x/2x,响应式布局必须用400w/800w配合sizes;二者不可混用,否则整个属性被忽略而回退到src。
-
用HTML表格写报价表应严格遵循语义化规范:用<table><thead><tbody>结构,<thscope="col">定义列头,价格列统一用<tdclass="price">并配合CSS右对齐与等宽数字字体,禁用rowspan/colspan和空格对齐,导出Excel需加UTF-8BOM,移动端优化须设table-layout:fixed及列宽。
-
必须同时设置-webkit-background-clip:text、background:linear-gradient()和color:transparent,且元素为inline或inline-block;Firefox不支持该特性,需用@supports降级。
-
写padding应按顺时针顺序(上右下左),优先用单边属性;两值为上下/左右,三值为上/左右/下;失效常因box-sizing、inline元素或overflow隐藏;勿与margin混用,后者会合并且不影响背景。
-
支配关系指:若所有从GCRoots到对象B的路径都必须经过对象A,则A支配B;A被回收则B必然不可达并被回收。支配树以此关系构建,反映“回收影响”拓扑,用于精准定位内存瓶颈。
-
getters适合封装纯函数式搜索逻辑,应分离搜索条件与数据源,按高选择性过滤→模糊搜索→排序顺序组合基础getter,并对大数据集启用缓存、节流及异步搜索模式。
-
多个await执行顺序取决于Promise是否串行发起或相互依赖:串行await因结果依赖必须依次等待;并行await应先发起所有独立请求再用Promise.all统一await;混合模式则先串行获取基础数据,再并发拉取子资源。
-
SharedWorker是浏览器端唯一支持跨标签页复用WebSocket以降低服务端并发连接数的机制,需同源HTTPS/localhost运行,连接逻辑、重连、心跳、消息路由(含clientId隔离)及状态同步均须在Worker内实现。
-
优先用::after实现全屏水印是为避免与Vue/React条件渲染生成的首节点冲突,::before易被误判为内容前置导致定位偏移;::after更稳定挂载末尾,配合position:fixed层级控制更可靠。
-
button[type="submit"]无反应是因为未处于form上下文中;需确保其为form后代或通过form属性关联;表单提交需监听form的submit事件并preventDefault();纯JS提交应改type="button"并手动发请求。
-
纯CSS下拉菜单需严格嵌套:子<ul>必须是父<li>的直接子元素,消除间隙并用position:absolute+top:100%定位;移动端需JS降级,且必须补全aria属性与键盘导航支持。
-
最稳的图片网格写法是display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr)));,配合img{width:100%;height:auto}和loading="lazy"及<picture>现代格式。