-
中文排版慎用letter-spacing,因其会导致断行错乱;应优先调整line-height、font-size、max-width等;若必须使用,需限定作用域、字体及em单位数值。
-
掌握HTML解析需五步:一、识别html根元素及head/body骨架;二、依缩进分析嵌套层级;三、辨识header、nav等语义标签功能;四、解析class、href等属性与文本关联;五、用浏览器开发者工具验证DOM结构。
-
HTML5里用标注重点,不是或HTML5明确把定义为“高亮显示文本中需要引起注意的部分”,语义上专用于标注重点(比如搜索结果中的关键词、文档中被标记的引用段落)。它和(强调重要性)、(强调语气)有本质区别——浏览器默认给加黄色背景,且无障碍工具会将其识别为“突出内容”而非“语义强调”。常见误用是拿或替代,这会导致语义丢失、可访问性下降,也不利于后续用脚本统一处理。用正则批量清除所有标签(含嵌套与属性)正则适合一次性清洗HTML字符串(如服务端预处理、构建时
-
Promise.race是处理异步操作超时的有效方法,因为它天然支持“竞速”机制,能自然地实现“谁先完成就取谁”的逻辑。1.它通过将主操作与定时器并行执行,优先返回最先完成的结果;2.与Promise链无缝集成,保持代码结构清晰;3.不需要额外库,是原生JavaScript支持的轻量级方案。但需注意资源泄漏问题,因为输掉race的Promise仍会继续执行,可能导致不必要的资源消耗;同时需在catch中区分错误类型以判断是否为超时错误;对于需要真正取消异步操作的场景,应结合AbortController等
-
HTML的translate属性非必需,默认即translate="yes";仅当需阻止翻译专有名词、代码、版本号等固定内容时才用translate="no";translate="yes"显式声明冗余,lang与translate职责不同,不可互换。
-
SSR通过服务器端直接生成完整HTML实现首屏直出,提升SEO索引率78%、LCP减少40%,并支持动态元信息与语义化标签,主流方案包括Next.js、Nuxt.js及自建Express渲染。
-
绝对定位子元素不占位,完全脱离文档流,父容器计算尺寸时无视其存在;需为父元素设置position:relative等非static定位才能建立定位上下文,否则偏移参考祖先或body。
-
Zustand的persist中间件在页面刷新后会丢失store中定义的方法(如setColor),因其仅持久化可序列化的状态值,而函数无法被JSON序列化,导致重hydration后方法变为undefined。
-
答案:现代前端构建需选合适工具并持续优化。Webpack适合大型项目,Vite提升开发体验,Rollup优打包库,Parcel快速上手;通过代码分割、TreeShaking、压缩、缓存和依赖优化提升性能,结合分析工具与CI/CD实现持续优化。
-
:hover和:focus需显式组合(如:hover:focus)才能同时生效,否则样式互不影响;单独使用无法实现叠加态效果,且需注意优先级、可访问性及移动端兼容性。
-
使用CSSFlexbox可轻松创建响应式图片画廊,通过display:flex和flex-wrap实现自动换行与等比缩放,结合gap设置间距,flex属性控制最小宽度(如200px)并允许伸缩,配合媒体查询优化小屏显示(如600px以下设为150px),确保在不同设备上均具有良好视觉效果。
-
有序列表使用<ol>标签创建,浏览器自动分配从1开始的数字编号;通过start属性可自定义起始编号,如start="5";CSS的list-style-type可设置编号样式,如lower-alpha(a,b,c)、upper-roman(I,II,III)等;reversed属性实现倒序显示,value属性指定某项具体编号,后续项自动递增。
-
JavaScript提升是引擎在编译阶段将var和function声明的声明部分提前至作用域顶部,但赋值仍保留在原位置;var声明提升后访问得undefined,function声明完全提升,function表达式仅变量声明提升,let/const存在暂时性死区。
-
优酷Pad端无法关闭HTML5播放器,因其已全面强制使用HTML5作为唯一底层实现;用户可关闭的仅是自动播放、后台续播等具体行为,而非HTML5技术本身。
-
HTML5原生不支持RTSP,因video标签仅支持MP4/WebM等格式及H.264/H.265+AAC编码,而RTSP是传输协议且常承载裸H.264流;可行方案是服务端转WebRTC或HLS。