-
container-type:inline-size是唯一实用的取值,父容器须显式声明才能触发容器查询;size难稳定触发,normal不支持查询;勿设于body或:root;应使用常规块级容器,并在@container内通过CSS规则调整子元素样式。
-
Intl.NumberFormat的notation:'compact'在Chrome79+、Firefox72+、Safari14+中支持K/M/B或“万/亿”,需显式指定locale(如'en-US'/'zh-CN')、设置compactDisplay:'short'/'long',旧版浏览器或精简ICU环境会静默降级为standard。
-
JSP中使用HTML5语义化标签需声明<!DOCTYPEhtml>、设置UTF-8编码、正确嵌套标签、为旧IE引入HTML5Shiv并显式设display:block、用JSTL替代脚本片段动态生成结构、最后验证DOM与样式。
-
JavaScript展开运算符(...)用于将可迭代对象或对象展开为独立元素或属性,支持数组合并与浅拷贝、函数传参、对象合并与解构、类数组转换等,但仅浅层展开且不支持null/undefined。
-
CSS动画在隐藏页会被浏览器暂停,CPU无负担;而requestAnimationFrame不会自动感知可见性,需手动结合document.hidden和visibilitychange控制启停。
-
overflow:hidden直接裁剪溢出内容且不提供滚动,适用于明确设计意图的截断场景;overflow:auto仅在内容溢出时显示滚动条,更克制,适合内容长度不确定的区域。
-
Vue响应式系统不代理null/undefined本身,但允许其作为响应式对象属性值;深层访问时需用?.或??避免中断;ref完全支持null/undefined;watch默认浅监听,修改嵌套属性需deep:true。
-
居中需按元素类型选择方案:行内内容用父容器text-align:center;块级元素定宽后margin:0auto;现代布局首选flex的justify-content:center与align-items:center;绝对定位元素用left/top50%加transform回拉。
-
前端日志与用户行为分析可通过封装Logger模块实现,支持分级记录并上报;结合事件监听自动采集点击、路由变化等行为数据。
-
MutationObserver默认不监听任何变化,必须手动配置、启动并指定真实DOM节点;监听class/style需用setAttribute而非直接赋值;监听文本需同时设subtree、characterData为true;React/Vue中应监听稳定父容器并及时disconnect。
-
按钮点击阴影变深的本质是利用:active伪类动态修改CSS变量--shadow-depth控制box-shadow垂直偏移,配合transform:translateY实现下陷效果,通过transition实现顺滑过渡,需注意浏览器兼容性与暗色模式适配。
-
Safari表单原生验证弹层需三法并用才能禁用:form加novalidate、input加oninvalid="this.setCustomValidity('')"、oninput中同步调用setCustomValidity(''),否则blur时仍会触发阻断式弹层。
-
必须阻止dragover默认行为才能触发drop事件,再读取e.dataTransfer.files获取文件列表,最后用FormData发送请求;accept属性无效,校验须在drop回调中手动完成。
-
Chrome68–92对autocomplete="new-password"支持不稳定:68–75仅注册/改密页有效,76–92遇name="password"等仍可能降级填充;93+起需动态name且立即设置,否则失效;iOSSafari长期不支持且长按粘贴绕过所有前端校验。
-
应在页面明确会用到但不立即加载的第三方域名时添加<linkrel="dns-prefetch">,如懒加载脚本、GoogleFonts、统计SDK等;避免为同源域名或未确认调用的域名添加,且href必须用协议相对URL(如//cdn.example.com),置于<head>中<metacharset>和<title>之后、首个外部资源之前。