-
border-radius写单值(如8px)为标准圆角,双值(如8px4px)因水平/垂直半径不同易显椭圆;百分比值按盒模型宽高计算;box-sizing影响裁剪基准,overflow:hidden不自动裁剪子元素。
-
原生<inputtype="time">仅在Chrome、Edge及iOS16.4+/macOSSafari中点击触发系统时间选择器;Firefox和旧版Safari仅显示文本框。showPicker()兼容性差,需元素已挂载且非隐藏,建议setTimeout调用;datetime-local在Android更稳定,但需适配日期格式;全平台一致需JS库兜底。
-
cursor值分为三类:预定义关键词(如pointer)、URL自定义图像(需配备选值如auto)、组合回退机制(多URL链式兜底);漏备选值将导致Chrome/Firefox忽略声明。
-
flex-wrap:wrap在页脚中不起作用的主因是子元素未设flex-basis或宽度限制,导致无法换行;需为子容器设flex:11240px、父容器设width:100%且避免white-space:nowrap等干扰。
-
HTML5的标签原生支持三种主要视频格式:MP4、WebM和Ogg。选择合适的格式能确保视频在不同浏览器中顺利播放。MP4(H.264+AAC)——兼容性最强MP4是目前兼容性最好的格式,几乎所有现代浏览器都支持它。但要注意,并非所有MP4文件都能播放,必须使用特定编码:视频编码:H.264(也称AVC)音频编码:AACMIME类型:video/mp4苹果Safari、微软Edge和InternetExplorer都只支持这种组合。因此,提供一
-
ClipboardAPI使用需满足安全上下文(HTTPS/localhost)和用户手势触发两个条件;writeText()写文本、readText()读文本(权限受限)、write()写图片(兼容性差),均需异常处理且不可静默执行。
-
生成器通过yield和next()实现异步流程控制,其核心在于1.使用function*定义生成器函数;2.在函数内部用yield暂停执行并产出Promise;3.通过外部执行器捕获Promise结果并用next()传回生成器恢复执行;4.以线性方式处理异步操作从而避免回调地狱。生成器结合Promise为async/await奠定基础,但实际应用中需依赖执行器、调试复杂且普及度不如async/await,因此已被更简洁的async/await取代。
-
SourceMap是前端调试的基石,它将压缩混淆后的代码映射回原始源码,使开发者能在浏览器中直接调试TypeScript或ES6+代码;通过构建工具生成,支持错误堆栈还原,提升生产环境bug定位效率;需注意生产环境安全,避免源码泄露,常用hidden-source-map并配合Sentry等平台使用;在多框架多语言项目中需确保映射链完整,防止因配置不当导致调试失效。
-
掌握CSS工具需理解辅助类机制,配置模板路径避免动态拼接类名,使用safelist注册运行时类;通过主题、插件、变体定制样式,启用purge优化体积,结合@apply和组件抽象提升可维护性。
-
伪元素必须设置非空content属性才能渲染并触发动画;动画属性需直接作用于伪元素自身;需配合display和定位控制尺寸与上下文。
-
HMR通过WebSocket实现模块热更新,WebpackDevServer提供实时通信与内存编译,浏览器端runtime接收变更后局部替换模块,依赖accept回调控制更新边界,否则整页刷新。
-
选错transition-timing-function会导致颜色过渡生硬,因默认ease在明度/色相大跨度时易出现中间突变;推荐用自定义cubic-bezier(0.4,0.1,0.3,1)或@property实现HSL插值,并配合硬件加速优化渲染。
-
图文环绕错位的主因是浮动未清除或方向不当,解决需用clear属性(如clear:both)、触发BFC(如overflow:hidden)或改用grid/flex布局。
-
重排比重绘更昂贵,因重排需重新计算几何属性并影响渲染树;重绘仅更新像素颜色等不改变布局的样式;强制同步布局和频繁DOM操作是主要性能瓶颈。
-
普通函数直接调用时,this指向全局对象(非严格模式)或undefined(严格模式),与“调用者”无关;箭头函数不绑定this,继承外层词法作用域的this值;call、apply立即执行并指定this,bind返回预设this的新函数。