-
JavaScript语音识别主要依靠WebSpeechAPI的SpeechRecognition接口,需检测兼容性、处理权限与事件,适合网页实时转文字;不支持Safari,复杂需求需接入云服务或WebAssembly模型。
-
sandbox属性加了即“全锁死”:JS不执行、表单不提交、弹窗失效、localStorage不可读写,仅postMessage可用;须显式添加allow-scripts等白名单token才能放行对应能力。
-
CSScomb是一款用于统一CSS属性顺序的格式化工具,支持多种样式语言并通过配置文件定义排序规则。安装后可命令行运行或集成至编辑器实现自动整理,提升代码可读性与维护性。团队使用时应统一配置并注意属性层叠影响,合理应用可有效规范样式书写,适合纳入前端工程化流程。
-
答案:使用Flexbox居中需根据主轴方向正确设置align-items和justify-content。当flex-direction为row时,justify-content控制水平居中,align-items控制垂直居中;改为column时,主轴变为垂直方向,justify-content控制垂直居中,align-items控制水平居中,通过调整两属性可实现任意居中布局。
-
邮件链接用mailto:协议,需紧接合法邮箱且无空格;电话链接用tel:协议,国际号码须+开头E.164格式;协议名全小写,移动端有效,微信内置浏览器有限制。
-
Grid嵌套需每级容器显式声明display:grid;grid-column应配合固定列轨道定位而非span;小屏须用display:none控制子菜单显隐;父容器overflow必须设为visible防裁剪。
-
BEM在移动端CSS中是防崩刚需,因其能解决position:fixed层级错乱、DPR下font-size失准、iOSSafari伪类失效等由选择器耦合引发的隐蔽问题。
-
动态切换HTML5音频需先改src再调load(),否则不重载;建议pause()后操作,用canplaythrough事件判断可播,preload="none"节省资源;iOS/微信需用户手势触发首次播放。
-
看不见::after分隔线最常见原因是未设置content:"",且需定义尺寸和样式;水平分隔线贴右侧可用绝对定位+垂直居中;多元素共用分隔线应由父容器统一绘制。
-
Sass的lighten()/darken()在深色模式下失效,因其仅机械调整明度而不感知背景明暗;应改用mix()、预定义双色值或contrast-color()等方案。
-
fixed遮罩未撑满全屏的根本原因是默认宽高为内容尺寸且受父容器transform等影响;需显式设width:100vw、height:100vh、top:0、left:0,并注意z-index层级、pointer-events及兼容性问题。
-
video标签的poster属性能显示封面,但仅在视频未加载或未播放时作为占位图生效,加载元数据后自动消失;需用合法图片路径,不支持base64;加载失败无原生兜底,须JS监听error或用img模拟封面层。
-
HTML测试需分层验证语法、结构、语义、行为与可访问性,须组合W3C校验器(粘贴代码更准)、HTMLHint(需正确配置)、ChromeDevTools(查真实DOM)、Lighthouse(验lang等标准)等工具协同判断。
-
line-clamp不生效主因是父容器未满足-webkit-box布局前提,须同时设display:-webkit-box、-webkit-line-clamp和-webkit-box-orient:vertical,且仅对块级元素有效,Firefox118+才支持无前缀语法。
-
Docusaurus不解析纯HTML文件,需将HTML重写为MDX:静态内容转Markdown,内联样式改用注释或CSS类,JS行为替换为官方插件或组件,链接改为相对路径.md,资源移至static/并更新引用路径,导航与多语言需配置驱动。