-
HTML5是HTML标准的自然演进而非取代,它补全音视频、Canvas、本地存储等能力,兼容旧标签;因开发者需求倒逼,浏览器厂商放弃XHTML2转向WHATWG主导的HTML5;实际落地需关注具体API在各浏览器的兼容性。
-
应使用input事件监听textarea实时统计字数,配合maxlength属性基础限制,并在input中截断超长内容且手动触发事件更新计数;字节统计需用TextEncoder或遍历码点判断。
-
用watchEffect监听响应式width.ref实现断点布局自动切换:通过ref包裹window.innerWidth,resize时更新其值,watchEffect内读取并计算layoutMode等状态,驱动模板渲染,避免直接操作DOM或重复计算。
-
overflow:hidden失效主因是父容器无高度或内容脱离文档流;单行省略需white-space:nowrap+overflow:hidden+text-overflow:ellipsis;多行需-webkit-box系列;它会禁用滚动、截断事件冒泡,而overflow:clip更语义化且保留交互。
-
async与defer本质区别在于执行时机:async下载完立即执行且不保证顺序,可能阻塞DOM解析;defer则等DOM解析完按序执行。
-
动画卡顿常因transition-timing-function选错:ease开头加速猛、结尾减速急,建议小位移用ease-out或cubic-bezier(0.34,1.56,0.64,1);需确保transition-property和duration同时声明,避免JS内联样式覆盖CSS规则。
-
Content-Length是HTTP响应中用于精确声明消息体字节数的关键头部,它决定客户端能否完整接收数据;缺失时需改用Transfer-Encoding:chunked,而值不匹配将直接导致截断或超时。
-
grid-column-gap控制列间水平间距,row-gap控制行间垂直间距;前者作用于列轴,后者作用于行轴,两者均推荐用column-gap和row-gap替代以提升跨布局通用性。
-
Blob是JavaScript中处理二进制数据的对象,支持通过流式读取分块处理大文件,结合TransformStream可实现高效转换,适用于上传、预览、音视频处理等场景。
-
margin:auto在块级元素上不居中,是因为容器缺少明确宽度(width/max-width),或为inline/float元素;响应式中常见错误是仅设margin:auto而未配width,或width:100%导致左右margin为0。
-
原生语义标签比ARIA更可靠;<divrole="button">缺乏键盘支持和表单行为,应优先用<button>;有可见文本用aria-labelledby,纯图标用aria-label;aria-live="polite"用于状态提示,assertive用于关键错误;FontAwesome装饰性图标自动aria-hidden="true",功能性图标需显式声明语义。
-
本文详解如何在可横向滚动的div容器中实现点击按钮触发的平滑滚动效果,涵盖纯CSS的scroll-behavior:smooth全局方案、现代JavaScript的scrollTo()API(支持behavior:'smooth'),并针对常见误区(如scrollLeft直接赋值不触发过渡)提供可落地的优化代码。
-
border-image不可动画,需用双层background模拟渐变边框:外层linear-gradient配background-clip:padding-box和background-position动画实现流动效果,兼容性好且性能优。
-
答案是使用JavaScript控制CSS类或CSS变量切换主题,并结合localStorage持久化。通过定义:root变量或主题类,动态修改属性或class实现样式切换,页面加载时从localStorage读取并应用用户偏好,确保主题持久生效。
-
位运算符在JavaScript中通过操作二进制提升性能,适用于取整、乘除优化、奇偶判断、标志位管理等场景,尤其在高频计算和底层逻辑中仍具优势。