-
overflow:hidden并非专为清除浮动设计,而是因触发BFC使父容器包含浮动子元素;但会裁剪溢出内容,导致弹层、fixed元素被截断或移动端滚动异常,现代推荐display:flow-root或Flex/Grid布局。
-
<wbr>是浏览器在容器宽度不足且其他换行策略失效时才考虑的断点提示,非强制换行;需配合overflow-wrap:break-word与明确宽度约束生效,适用于长URL、驼峰变量名等有逻辑分隔点的无空格字符串。
-
line-clamp不生效的主因是缺失关键声明:必须同时设置display:-webkit-box、-webkit-box-orient:vertical和-webkit-line-clamp:N,且父容器需overflow:hidden;它仅限WebKit内核,不兼容Flex/Grid布局,也不响应动态内容更新。
-
flex-wrap属性用于控制flex容器内子元素的换行行为,其常用值为nowrap(不换行)、wrap(向下换行)和wrap-reverse(向上换行)。通过结合flex-direction、gap、align-content等属性,可实现如多行卡片布局、聊天消息流等响应式设计场景,有效解决子元素溢出问题并提升布局灵活性。
-
浏览器缩放导致布局异常时,可通过六种策略适配:一、禁用用户缩放(Meta控制);二、使用em/rem/vw/vh等相对单位;三、CSStransforms反向缩放补偿;四、@media查询检测DPR;五、JavaScript动态重绘校准;六、text-size-adjust禁用字体自动放大。
-
应使用100dvh替代100vh,兼容老版本则结合focus/blur监听与min-height:100vh+height:100dvh层叠;fixed输入框避免scrollIntoView,改用scroll-margin-bottom或手动scrollTo;键盘收起用visualViewport.resize替代resize事件;flex布局需设height:100dvh及子项min-height:0。
-
BroadcastChannel可实现同源多标签页实时通信,需统一频道名、同源、合理收发与清理;支持结构化消息与事件监听,注意关闭频道防泄漏,并为隐私模式提供降级方案。
-
会乱码,但因字体和编码不匹配而非HTML不支持;需声明UTF-8、选用含IPA字符的字体(如NotoSans)、避免复制粘贴引入控制符,并用<span>而非<ruby>标注,配合字体栈与降级策略保障多端显示。
-
JavaScript重塑程序认知:从线性同步到事件驱动异步,直面状态管理与真实交互复杂性,培养组合思维与工程敏感度。
-
答案:构建PWA离线优先应用需以离线为常态设计,通过ServiceWorker预缓存核心资源、采用CacheFirst和Stale-While-Revalidate策略保障静态资源与API可用性,结合IndexedDB持久化数据并维护待同步操作队列,利用BackgroundSync实现网络恢复后自动同步,同时优化UI提示让用户明确感知离线状态与数据暂存情况,配合WebAppManifest和HTTPS实现可安装可靠体验。
-
justify-content:space-between不铺满元素是因为它只分配主轴剩余空间,不改变子项自身宽度;需配合flex:1(等价于flex-grow:1,flex-shrink:1,flex-basis:0%)使子项等宽铺满,或改用CSSGrid实现更可靠的等分平铺。
-
必须将perspective设在卡片父容器(如.card-container)上,值取800–1200px;子元素需设transform-style:preserve-3d和backface-visibility:hidden,并显式声明rotateY(0deg)起始态。
-
viewport标签必须正确设置width=device-width和initial-scale=1.0,否则vw/vh基于错误视口计算导致横滚、字体模糊、点击不准;需配合clamp()、vmin及内容溢出控制才能实现真正适配。
-
text-overflow:ellipsis生效需同时满足三个条件:overflow为hidden/scroll/auto、white-space为nowrap、容器有确定块级宽度;缺一不可。
-
Symbol.metadata不存在于当前JavaScript标准中,ECMAScript规范未定义该符号,浏览器和Node.js均不支持;应使用自定义Symbol(如Symbol('role'))配合Reflect.metadata等API实现安全、唯一、可分析的元数据挂载。