-
子元素点击区域小是因为flex项默认不拉伸内容盒,需通过padding扩展热区、设置min-height/min-width防塌缩,并配合cursor:pointer和user-select:none提升体验。
-
滚动背景图原理是文字静态透明,background-image通过background-position位移实现滚动;需设置background-size大于容器、no-repeat,并用transparent隐藏文字;横向/竖向滚动需分别配置位移方向与尺寸;动态更新内容时需强制重播动画。
-
CustomEvent创建自定义事件需用detail字段传数据,触发用dispatchEvent、监听用addEventListener;推荐EventTarget实例作事件总线,更轻量私有;cancelable为true时preventDefault才生效,但自定义事件默认不可取消。
-
WebSocket是全双工、长生命周期的TCP连接,握手复用HTTP但后续脱离其协议栈,以轻量帧通信;原生JS通过WebSocket构造函数创建,依赖onopen发送数据,不自动重连,需手动实现并注意代理、CDN、兼容性等部署限制。
-
HTML5播放器无法播放老论坛Flash视频,本质是Flash运行环境已被所有主流浏览器彻底移除,.swf文件无法被HTML5video标签解析;确认是否真为Flash需查源码和Network中.swf或.flv请求;可行方案仅限Ruffle模拟、旧系统抓流或服务器端提取转码。
-
通过background-position与animation配合实现渐变动画,利用扩大background-size创造移动空间,结合transition或@keyframes控制位置变化,形成流动效果,适用于按钮悬停、加载动画等场景。
-
组合函数是将多个一元函数按顺序串联执行的编程模式,pipe从左到右执行如h(g(f(x))),compose从右到左执行如f(g(h(x))),提升代码可读性、复用性与可测试性。
-
原生<inputtype="time">仅在Chrome、Edge及iOS16.4+/macOSSafari中点击触发系统时间选择器;Firefox和旧版Safari仅显示文本框。showPicker()兼容性差,需元素已挂载且非隐藏,建议setTimeout调用;datetime-local在Android更稳定,但需适配日期格式;全平台一致需JS库兜底。
-
WebGL透明需显式开启alpha选项:创建上下文时必须传{alpha:true},再设clearColor(0,0,0,0)并启用混合gl.enable(gl.BLEND)和blendFunc,同时确保CSS样式不遮挡。
-
npm安装+PostCSS构建是唯一生产就绪方式,支持JIT、暗色模式、响应式变体等全部功能;CDN仅限原型验证,不支持@apply、自定义主题及响应式断点。
-
颜色显示取决于元素的绘制层级和层叠上下文,浏览器按背景、边框、内容、子元素顺序绘制,后写的元素默认在上层;定位元素通过z-index改变层叠顺序,opacity或mix-blend-mode可创建新层叠上下文;透明色如rgba会产生视觉混合,但受父级层级限制;合理使用z-index与伪元素可精准控制颜色呈现。
-
JavaScript中事件与回调本质相同:事件是异步信号,回调是响应函数;addEventListener需传函数引用而非调用结果;循环中注意闭包问题;Promise需分层处理HTTP状态与解析错误;setTimeout/setInterval中this需手动绑定;异步操作后DOM更新须置于.then或await之后。
-
HTML5版心宽度=页面总宽度−左右边距,需依设计稿获取基准参数,用CSScalc()或JavaScript动态计算,并通过CSS自定义属性统一管理,最后实机验证误差≤±1px。
-
CSS选择器对动态插入元素不生效,因其依赖静态匹配机制,仅在首次渲染或重排时扫描DOM;新节点若未显式携带匹配所需class/id等属性,则无法触发样式计算。
-
border-radius支持1–4个值按顺时针设四角,双值为左上/右下、右上/左下;椭圆需用“/”分隔水平/垂直半径;百分比在flex中易失效;须配合overflow:hidden裁剪子元素。