-
原生语义标签比ARIA更可靠;<divrole="button">缺乏键盘支持和表单行为,应优先用<button>;有可见文本用aria-labelledby,纯图标用aria-label;aria-live="polite"用于状态提示,assertive用于关键错误;FontAwesome装饰性图标自动aria-hidden="true",功能性图标需显式声明语义。
-
margin:auto在块级元素上不居中,是因为容器缺少明确宽度(width/max-width),或为inline/float元素;响应式中常见错误是仅设margin:auto而未配width,或width:100%导致左右margin为0。
-
Blob是JavaScript中处理二进制数据的对象,支持通过流式读取分块处理大文件,结合TransformStream可实现高效转换,适用于上传、预览、音视频处理等场景。
-
grid-column-gap控制列间水平间距,row-gap控制行间垂直间距;前者作用于列轴,后者作用于行轴,两者均推荐用column-gap和row-gap替代以提升跨布局通用性。
-
Content-Length是HTTP响应中用于精确声明消息体字节数的关键头部,它决定客户端能否完整接收数据;缺失时需改用Transfer-Encoding:chunked,而值不匹配将直接导致截断或超时。
-
动画卡顿常因transition-timing-function选错:ease开头加速猛、结尾减速急,建议小位移用ease-out或cubic-bezier(0.34,1.56,0.64,1);需确保transition-property和duration同时声明,避免JS内联样式覆盖CSS规则。
-
async与defer本质区别在于执行时机:async下载完立即执行且不保证顺序,可能阻塞DOM解析;defer则等DOM解析完按序执行。
-
overflow:hidden失效主因是父容器无高度或内容脱离文档流;单行省略需white-space:nowrap+overflow:hidden+text-overflow:ellipsis;多行需-webkit-box系列;它会禁用滚动、截断事件冒泡,而overflow:clip更语义化且保留交互。
-
用watchEffect监听响应式width.ref实现断点布局自动切换:通过ref包裹window.innerWidth,resize时更新其值,watchEffect内读取并计算layoutMode等状态,驱动模板渲染,避免直接操作DOM或重复计算。
-
<audio>标签无需JS即可运行,常见问题为漏写controls属性、路径错误及移动端静音限制;自动播放需同时加autoplay与muted;preload="metadata"可优化加载性能;controlsList可隐藏下载等非必要控件。
-
Less3.x升级到4.x是“收边界”而非加功能,收紧语义与校验:除法需括号或./、@import必须带.less后缀、颜色/尺寸函数参数须带单位、嵌套中父级@变量不可隐式访问。
-
打印样式需重写而非微调:grid命名区域失效、fr单位不可靠、浮动被忽略、table-layout:fixed导致列错乱、break-inside须加在子项上,且须清除非内容区块。
-
高阶Mixin本质是返回Mixin的Mixin,通过带括号调用实现嵌套混入配置与参数透传,专注组合逻辑而非直接输出样式,需显式传参、避免递归、慎用隐式作用域。
-
本文介绍如何在不依赖第三方库的前提下,将字符串数字数组按每三个元素为一组进行数值求和,并返回由各组和组成的新字符串数组,适用于进制转换等场景。本文介绍如何在不依赖第三方库的前提下,将字符串数字数组按每三个元素为一组进行数值求和,并返回由各组和组成的新字符串数组,适用于进制转换等场景。在实现十六进制(base-16)到八进制(base-8)的转换器时,一种常见策略是先将十六进制字符串转为二进制,再将二进制按三位一组分组(因$2^3=8$),最后将每组二
-
掌握高级正则技巧可精准处理嵌套结构、上下文匹配与复杂验证。1.用递归或模拟平衡组提取括号内容,如Python的regex模块支持(?R)匹配func(a(b(c),d),e)中最外层参数;2.零宽断言实现上下文过滤,如(?<=!")\berror\b(?!"1)匹配未被引号包围的“error”;3.非贪婪与贪婪结合控制范围,(?:.|\n)?可截取<divclass="content">到</div>间内容,适用于简单HTML解析;4.命名捕获组提升可读性