-
移动端:hover点击后不消失是浏览器悬停状态延迟清除机制所致;iOSSafari等将首次触摸视为:hover起点但无对应“离开”事件,需通过ontouchstart属性或JS主动清除。
-
HTML5无需安装,浏览器卡顿源于video/audio标签的性能问题;应合理设置preload属性、确保H.264+AAC编码兼容、避免无交互autoplay、改用requestVideoFrameCallback优化监控。
-
使用伪元素和动画可实现平滑下划线效果:1.用text-decoration设置静态下划线但无法动画变色;2.用::after配合transition实现悬停展开和颜色过渡;3.用@keyframes创建流动、循环动画;4.用渐变背景加background-position实现彩色流动线。
-
漏掉<metaname="viewport">标签,其他所有响应式代码都白写;它不是可选优化,而是移动端渲染开关,缺失或写错(如拼成viewpoint、用固定宽度)会导致@media不触发、页面缩放显示。
-
侧边栏显隐必须用视口媒体查询而非容器查询,因其属页面级布局决策;小屏下应设display:none并调整grid-template-columns为单列,避免仅改列宽导致布局错乱。
-
绝对定位元素默认不撑开宽度是因为脱离文档流后width按内容收缩(shrink-to-fit),而非占满父容器;max-width仅作上限约束,需配合无双侧定位、white-space控制及内容自然换行状态才能生效。
-
JavaScript模拟私有状态有三种主流方式:闭包封装(构造函数内声明变量并暴露方法)、工厂函数(返回对象,语义清晰)、WeakMap(键为实例,支持原型复用且垃圾回收友好),但均为约定式保护,新项目应优先使用ES2022私有类字段#field。
-
必须在服务端用bleach.clean()白名单过滤HTML,前端净化仅为补充;禁用|safe直接输出,需显式配置tags、attributes及protocols;禁止strip_tags/正则等不可靠方案;属性值须二次转义;富文本白名单须按业务最小权限控制。
-
<scriptsetup>是Vue3.2+官方推荐的编译时语法糖,简化CompositionAPI使用、提升类型推导精度与性能;需用ref/reactive创建响应式数据,props/emits通过defineProps/defineEmits声明,组件方法需defineExpose暴露,组合式API需显式导入。
-
禁用user-scalable=yes是解决移动端浮动错位的关键,因其放大缩放时亚像素误差导致换行与间隙;应改用现代布局(如flex/grid)替代float。
-
Less混合器无法返回值,需通过@_result变量加!important在调用处显式获取结果;适用于单次计算,不支持链式调用或@media内动态计算。
-
CSS的border-spacing创建的间隙不属于任何元素,无法直接设置背景色;但可通过双box-shadow模拟悬停时行间距的着色效果。
-
WeakSet不能防止脚本注入,仅能非侵入式追踪已授权DOM元素引用以避免内存泄漏;它不参与授权决策,须配合严格校验与防御性操作,且不可替代XSS根本防护措施。
-
discarded状态无法被JavaScript捕获,唯一可靠保存时机是freeze事件和pagehide且persisted===true;还原需结合pageshow.persisted、localStorage时间戳及navigation类型综合判断冷启动与热恢复。
-
用@keyframes实现云朵飘动需设translateX(-100%)无缝循环,配合will-change:transform触发GPU加速、linear缓动、overflow:hidden防白边;云形用border-radius组合或clip-path绘制;分三层z-index模拟景深,各层duration/opacity/位移范围不同;须响应prefers-reduced-motion降级。