-
line-clamp不生效的主因是缺失关键声明:必须同时设置display:-webkit-box、-webkit-box-orient:vertical和-webkit-line-clamp:N,且父容器需overflow:hidden;它仅限WebKit内核,不兼容Flex/Grid布局,也不响应动态内容更新。
-
<wbr>是浏览器在容器宽度不足且其他换行策略失效时才考虑的断点提示,非强制换行;需配合overflow-wrap:break-word与明确宽度约束生效,适用于长URL、驼峰变量名等有逻辑分隔点的无空格字符串。
-
本地服务器启动卡顿主因是localhost解析延迟、文件监听扫描或模块加载过重,而非硬件性能;应检查hosts配置、显式绑定127.0.0.1、禁用监听与缓存、避开node_modules目录运行,并排查杀毒软件干扰。
-
align-items用于设置flex容器子元素在交叉轴上的对齐方式,其常用值包括flex-start(顶部对齐)、flex-end(底部对齐)、center(居中对齐)、stretch(拉伸填满,默认值)和baseline(基线对齐),该属性需应用于display为flex或inline-flex的容器,影响所有直接子元素,常用于实现垂直居中等布局效果。
-
必须在beforeUnmount中清理定时器,因为定时器是独立运行的异步副作用,组件卸载后其回调仍可能触发,导致访问已销毁组件的响应式数据而报错;应使用ref存储timerID并在beforeUnmount中清除。
-
required仅校验非空,不校验格式;pattern自动锚定且不支持标志符;min/max/step在number与date中行为不同;setCustomValidity需手动清空;原生校验仅响应表单提交事件。
-
应采用CSS与JS组合策略:动态修改viewport的maximum-scale、确保输入框font-size≥16px或设置-webkit-text-size-adjust:100%,并绑定focusin/focusout事件精准控制缩放。
-
HTML注释以<!--开始-->结束,可用于head、body、元素间等位置说明代码,但不可嵌套或插入标签内,合理使用可提升可读性与维护性。
-
首选navigator.clipboardAPI,因其异步、安全且符合现代标准;旧浏览器可回退至document.execCommand并配合临时DOM模拟操作。
-
RxJS操作符是纯函数,用于创建、转换、过滤、组合Observable。核心分类包括:of、from等创建类;map、switchMap、mergeMap等转换类,实现数据映射与流切换;filter、debounceTime、throttleTime等过滤类,控制值的输出频率;combineLatest、zip等组合类,融合多流数据;catchError、retry等错误处理类,保障流的稳定性。其中,switchMap常用于搜索防抖,mergeMap支持并发请求,debounceTime减少高频事件触发,
-
重复媒体查询导致维护困难,主要因断点修改需全局替换、样式分散难对齐、编译后冗余膨胀;应抽离断点为变量和@mixinrespond-to($breakpoint),由调用方传入内容,避免嵌套@media,并统一模块化管理与导入。
-
纯CSS弹窗动画需用visibility+opacity+transform组合,禁用display;原生dialog须弃用showModal()改用show()+自定义backdrop;触发动画前需offsetWidth强制重排;移动端须加will-change和translate3d启用GPU加速。
-
JavaScript错误处理需分层拦截、类型识别与明确抛出:try...catch不捕获异步错误、语法错误及未处理Promise拒绝;应使用Error子类区分业务异常,Promise链须显式catch,全局需同时监听error和unhandledrejection事件。
-
移动端多列网格布局应优先使用display:grid,因其通过grid-template-columns一行定义列数与响应行为,比Flexbox更直接稳定;Flexbox仅适合一维排列,强行用于多列易导致换行错位和高度不一致。
-
navigator.onLine仅提供当前网络状态快照,不能直接触发同步;正确做法是offline事件暂存任务到本地存储,online事件或页面加载时主动执行幂等同步,并需防范假在线、时效性等实际问题。