-
浮动元素外边距折叠导致间距异常,因脱离文档流使margin计算失效;应避免直接设margin,改用padding、BFC包裹或Flex/Grid布局,配合gap属性和box-sizing统一控制。
-
grid-item的box-shadow被父容器裁剪的根本原因是grid-container默认overflow:hidden且未创建新层叠上下文,导致不占布局空间的阴影被剪切;解决方法包括设overflow:visible、加padding、用transform创建新层叠上下文等。
-
display:none是唯一真正移除渲染的方式,元素从渲染树中完全剔除、不占空间、不响应事件、JS查询尺寸为0,适合权限控制和条件渲染,但频繁切换会触发重排。
-
健壮的compose函数应支持单参数、不修改原函数、透传非函数值,核心实现为constcompose=(...fns)=>(x)=>fns.reduceRight((acc,fn)=>typeoffn==='function'?fn(acc):acc,x)。
-
tbodytr:hover有效需满足:HTML中显式存在tbody标签,且结构符合标准表格(thead/tbody/tfoot);触屏设备默认不支持hover,需用@media(hover:hover)或touchstart/touchend模拟;避免pointer-events:none、优先级冲突及transition:all引发的布局抖动。
-
负margin通过让元素突破布局边界实现重叠,它强制元素在文档流中视觉偏移,而非删除空间;但受overflow、flex对齐、外边距合并等限制,现代开发更推荐transform实现精准覆盖。
-
HTML5布局需正确应用盒子模型:标准盒模型中width/height仅含内容,border-box使宽高包含padding和border;flexbox实现一维弹性布局;grid构建二维网格;margin折叠需注意。
-
HTML5play()不能无条件直接调用,必须在用户手势(如click、touchend)回调中同步调用并处理Promise返回值,否则会因权限限制被拒绝。
-
正确使用表单标签与属性、支持“记住我”功能、避免破坏自动填充机制、测试浏览器兼容性可实现稳定自动填充。1.使用标准input类型并设置autocomplete属性为username和current-password;2.登录成功后通过localStorage保存用户名,页面加载时恢复;3.避免动态修改type、禁用autocomplete或使用非原生输入框;4.在Chrome、Firefox、Safari中测试自动填充与多账号切换效果,确保兼容性。
-
必须先在HTML中创建带id且设宽高的div容器,再用L.map('id')初始化地图并setView设置中心和缩放级别;接着用L.tileLayer加载匹配EPSG:3857投影的瓦片图层并addTo(map);最后确保JS执行时机正确、网络请求成功、DOM结构完整。
-
required仅校验非空,不触发pattern等自定义规则;pattern默认不校验空值,需手动干预验证流程,推荐用submit事件拦截+checkValidity()+reportValidity()统一控制。
-
响应式断点应基于主流设备视口区间与内容布局需求确定,推荐使用768px、1024px、1280px三个核心断点,采用min-width移动优先策略,避免混用max-width,确保每个断点解决明确的布局问题。
-
document.cookie读写不生效因它是伪接口:写入需指定路径、过期时间等,否则会话级失效或跨路径不可读;HttpOnlycookie无法JS读取;读取须正则匹配防分号干扰;删除需严格匹配path/domain并设过去时间。
-
反应力测试游戏必须用performance.now()而非Date.now(),因其精度达微秒级、单调递增且不受系统时钟影响;需配对keydown/keyup、禁用被动事件监听、显式清除定时器,否则会导致计时错误或负值。
-
实时数据更新应依场景选通信机制:WebSocket适用于低延迟双向交互,需完善生命周期管理;SSE适合服务端单向推送,兼容性好且自动重连;fetch轮询则用于实时性要求低或受限环境,须加节流与退避;MutationObserver不属实时数据更新方案。