-
Bootstrap5表单输入框:focus时默认有两层box-shadow:0000.25remrgba(13,110,253,0.25)和0000.25remtransparent,用于实现聚焦发光效果并补偿border-width。
-
BigInt与Number不兼容,因类型系统禁止隐式转换,混合运算如1n+1会抛TypeError;必须显式转换,且BigInt()构造函数不接受Number参数,JSON、Math、Date等API均不支持BigInt。
-
:first-child未生效是因为父元素首个子节点不是目标元素,如存在注释、空格或非li元素;:nth-child按所有子元素统一编号,非仅目标类型;建议用:first-of-type或:nth-of-type更可靠。
-
trimStart仅去除字符串开头空白符,trimEnd仅去除结尾空白符,trim则同时处理两端;三者行为独立不可互换,非语法糖。
-
<abbr>标签必须配合title属性才能实现语义化缩写功能,否则仅为普通内联元素;title需为简洁纯文本,提供准确全称,且不可含HTML或冗余描述。
-
clip-path动画不能直接用transition,因为浏览器仅对同构路径(如顶点数、类型、顺序均一致的polygon)进行线性插值;混用circle()与polygon()或单位不统一会导致跳变或失效。
-
JavaScript浮点数精度问题源于IEEE754标准,0.1+0.2!==0.3因二进制无法精确表示十进制小数,导致计算误差;可通过Number.EPSILON比较、整数换算、toFixed或decimal.js等方法规避。
-
纯HTML实现返回顶部需用<ahref="#top">指向带id="top"的顶部元素(不可设在<body>),配合html{scroll-behavior:smooth}启用平滑滚动,固定按钮需设z-index≥100并处理iOS兼容性;JS仅在路由、IE兼容或动态偏移时必要。
-
本文解析为何仅靠闭包共享状态(如counter)不构成单例模式,并演示如何通过延迟初始化与实例缓存实现符合定义的真正单例。
-
transition-property用于指定参与过渡的CSS属性,可选值为none、all或具体属性名,如width、opacity等。通过精确控制属性,避免不必要的动画,提升性能。例如设置transition-property:width,background-color,仅这两项属性会触发过渡效果。实际开发中常与transition简写结合使用,如transition:transform0.3sease,确保只有transform产生动画,其他属性如color即时生效。需注意仅可动画属性(如tran
-
Flex布局下子列默认等高,因align-items:stretch是默认行为;不等高主因是父容器缺display:flex、子项设height/align-self、脱离文档流或overflow截断。
-
使用justify-self:center和align-self:center可解决CSS网格中图标与文字居中问题,前者控制水平居中,后者控制垂直居中,需确保父容器设为display:grid且子元素无其他样式干扰。
-
CSS旋转动画必须作用于transform属性而非rotate()函数,需配合@keyframes定义、animation-fill-mode:forwards保持终态,并优先使用transform实现高性能动画。
-
Angular不支持通过插值语法{{}}直接绑定自定义data属性,必须使用属性绑定语法[attr.data-*]才能动态设置data属性值。
-
Chrome105+和Edge111+原生支持VirtualKeyboardAPI,但需先设置<metaname="viewport"content="height=device-height,virtualkeyboardpolicy=auto">,再通过navigator.virtualKeyboard.addEventListener("geometrychange",...)监听键盘显隐;iOS不支持该API,须降级为focu