-
iOS系统对HTML5<video>的自动播放有严格限制,需同时满足muted、playsinline、正确的MIME类型(如video/mp4)及格式兼容性,否则视频将静音失败或完全不加载。
-
本文详解如何正确使用cy.intercept()拦截zoomus://等自定义协议URL,避免浏览器弹出外部应用确认对话框导致测试中断,并确保协议跳转行为可断言、可验证。
-
优先使用类选择器并遵循语义化命名(如BEM),避免深层嵌套和过度使用ID、通用选择器,控制伪类与属性选择器复杂度,杜绝滥用内联样式和!important,提升CSS性能与可维护性。
-
尾调用优化通过重用栈帧避免递归时的栈溢出。当函数最后一步调用自身且返回其结果时,如阶乘函数factorial(n,acc)在n≤1时返回acc,否则递归调用factorial(n-1,n*acc),此时可进行优化,但JavaScript中仅部分引擎支持。
-
flex-direction属性决定Flex容器主轴方向,其有四个值:row(默认,水平左到右)、row-reverse(水平右到左)、column(垂直上到下)、column-reverse(垂直下到上);使用时需先设置display:flex,例如.menu{display:flex;flex-direction:column}可使菜单垂直排列;该属性还影响主轴与交叉轴方向,进而影响justify-content和align-items等对齐行为。
-
要让::after伪元素居中,需在父元素设text-align:center并使伪元素为display:inline-block;若用flex布局,则父元素设display:flex并配合justify-content和align-items。
-
transform-origin默认值50%50%并非总指向视觉中心,因计算依赖元素宽高及盒模型;需显式设为centercenter、配合display:block和box-sizing:border-box,并避免与translate混用。
-
HTML转义字符显示为原始文本而不是渲染效果常见现象是页面上直接看到<、 这类字符串,而不是对应的
-
cite属性应写在<blockquote>或<q>标签中,用于指定引文原始出处的合法URL,属语义元数据,不渲染、不跳转,需配合<footer>或<a>提供用户可见来源。
-
能,但仅限于子元素在所属网格单元内居中,非整个容器;需父容器设display:grid、格子有明确尺寸(如grid-template-columns:1fr)、子元素显式定位(grid-column/grid-row)才可见效果。
-
HTML5<progress>元素必须设置value和max属性才可见;value需为0–max间的数字,推荐显式声明max;Flex/Grid中需设min-width:0以正确缩放;JS更新应直接赋值element.value而非setAttribute;IE降级须用语义化div[role="progressbar"]配合ARIA属性。
-
flex-direction:column未生效的主因是父容器未设display:flex;子元素若含float、position:absolute或display:none等样式也会破坏弹性上下文;justify-content始终控制主轴(column下为垂直方向),align-items控制交叉轴(水平方向);vertical-align在Flex中无效;iOSSafari旧版本存在兼容问题,需避免依赖min-height、显式设height或flex:1,并注意overflow设置。
-
必须转义的只有5个字符:<、>、&、"、',分别对应<、>、&、"、',其他Unicode字符无需转义;纯文本显示优先用textContent,富文本需先转义再白名单过滤。
-
background-attachment:fixed失效是因transform、filter等触发新层叠上下文,导致降级为scroll;移动端Safari默认禁用,Chromev99+要求背景设在根容器;替代方案为JS监听scroll+rAF或scroll-drivenanimations。
-
localStorage.setItem保存失败的常见原因包括:只接受字符串,对象等需JSON.stringify();undefined/null序列化后均为"null"易混淆;QuotaExceededError表示配额超限;getItem返回null仅表示键不存在;需防FOUC闪烁;localStorage不跨设备、不加密、无过期机制。