-
style标签必须放在<head>内且在依赖它的HTML元素之前,否则样式可能无法及时应用;语法同外部CSS但不支持@import和跨块复用CSS变量;适用于页面专属小范围样式,避免滥用导致维护困难。
-
元素margin无反应的主因是父容器未触发BFC或发生margincollapse;解决需创建BFC、用padding替代、注意行内元素限制及margin:0auto的width和display前提。
-
模块联邦是Webpack5实现微前端的核心技术,允许运行时动态共享模块。主应用(Host)通过remoteEntry.js加载远程模块,如用户中心暴露的UserProfile组件,并通过shared配置避免重复打包React等依赖。需注意样式隔离、状态共享、容错机制及部署同步问题,适用于多团队协作的后台系统集成场景。
-
BroadcastChannel是同源页面间广播通信的原生API,支持标签页、iframe等实时消息传递;需同源且注意兼容性与隐私模式限制,适用于多标签状态同步等场景。
-
导航文字颜色在悬停时平滑渐变,需设置默认颜色、添加transition过渡效果,并在:hover状态定义目标颜色。示例中链接默认色为#333,悬停时变为#e64c66,过渡时间为0.4秒,缓动函数为ease;可通过调整时间或使用cubic-bezier优化动画效果。
-
微任务队列过度拥挤会导致页面卡顿、响应延迟、内存泄漏和隐式无限递归,阻碍渲染与交互,引发Chrome中断或卡死,并因闭包引用造成内存持续占用,调试困难;应节制使用,优先选用requestIdleCallback或节流setTimeout。
-
HTML文档无法整体设为只读,需按元素类型分别处理:input/textarea用readonly或disabled,contenteditable元素必须设contenteditable="false",JavaScript操作时注意属性名大小写与动态插入时机。
-
推荐用「操作符优先级+双栈法」安全解析数学表达式:先正则清洗并归一化符号,再按优先级计算,特殊处理负数和括号,配合token化与实时校验防错。
-
audio标签的loop是布尔属性,仅存在即启用循环,无值;JS可通过element.loop=true/false动态控制;但iOSSafari等移动端默认禁用,需用ended事件手动重播实现跨平台兼容。
-
HTML5音视频兼容关键在于编码格式而非扩展名:视频用H.264(Main/HighProfile,Level≤4.0),音频用AAC-LC(44.1/48kHz,双声道),容器优先.mp4;type属性须精确声明codecs,<source>按兼容性降序排列;FFmpeg必加-pix_fmtyuv420p、-profile:vmain、-level3.1、-movflags+faststart;自动播放需用户手势触发且静音。
-
HTML中图片默认以inline元素渲染,会保留基线(baseline)下方的空白区域,导致容器底部出现不可见却可测量的间隙;解决方法包括设置display:block、vertical-align:top或显式固定父容器高度。
-
JavaScript支持函数式编程,核心是纯函数(相同输入恒得相同输出、无副作用)和高阶函数(接收或返回函数),二者结合提升可预测性、可测试性与组合能力。
-
TreeShaking是一种基于ES6模块静态分析的构建优化技术,通过标记并剔除未使用的代码来减小打包体积;它依赖于静态的import/export语法,不支持CommonJS动态模块,在生产模式下结合Terser等压缩工具生效,且需在package.json中配置sideEffects以帮助构建工具判断代码是否可安全删除。
-
inline-block元素间空隙源于HTML换行被解析为空格字符,导致约4px间隙;解决法是父容器font-size:0后子元素重设字号,兼顾兼容性与可维护性。
-
<p>移动端元素宽度被padding撑破应设box-sizing:border-box,使width包含padding和border;根选择器统一重置*{box-sizing:border-box;},flex子项需加min-width:0并避免width:100%,padding优先用rem单位,第三方组件需用高权重选择器覆盖。</p>