-
:first-of-type选中父元素中同类型标签的第一个,:last-of-type选中最后一个;两者按元素类型匹配,常用于去除首段边距或隐藏末项边框等场景。
-
闭包捕获变量是实时引用绑定而非值拷贝,导致异步回调中循环变量错乱、竞态条件和状态污染;解法是通过局部变量、参数传值或块级作用域固化值。
-
Safari14–15.6中Flex子元素height:100%不生效,因父Flex容器未被识别为有明确高度的上下文;需显式设父容器height,或改用align-items:stretch并移除height:100%。
-
HTML无法直接操作蓝牙键盘,因其仅为标记语言;浏览器通过document.addEventListener('keydown')统一处理输入事件,不区分设备类型;真正与蓝牙交互需依赖WebBluetoothAPI(仅限HTTPS、用户触发、BLEHID设备且Chrome支持),或原生应用。
-
HTML表单无法直接获取视线轨迹,需用mousemove、focus/blur、scroll等代理信号推测注意力;应避免误用IntersectionObserver,聚焦字段级行为链聚合与合理埋点。
-
flex-grow可配合CSS变量动态算比例:在HTML中用style="--r:1.777"注入纯数字变量,CSS中写flex-grow:var(--r,1)并设flex-basis:0,Chrome/Firefox/Safari≥15.4支持,需防字符串、单位、width干扰及IE11兼容问题。
-
Canvas绘图需先获取2D上下文对象:用document.getElementById()获取<canvas>元素,再调用getContext('2d');漏此步则绘图静默失败。fillRect画实心矩形,strokeRect仅描边,均以左上角为坐标原点;路径绘制须beginPath→moveTo/lineTo→stroke/fill,缺beginPath会导致路径叠加;clearRect仅清像素,不重置状态,彻底重置可用canvas.width=canvas.width。
-
矩形与圆形碰撞检测的核心是判断圆心到矩形最近点的距离平方是否小于等于半径平方。先计算最近点坐标,再通过提前排除(如|dx|>r)优化性能。
-
CSS定位布局核心是理解position与文档流关系:relative原地微调不脱流,absolute脱离文档流认父定位,fixed锁定视口,sticky滚动时相对转固定。
-
z-index不生效的主因是元素未处于定位上下文中。CSS中z-index仅对position为relative、absolute、fixed或sticky的已定位元素有效,且受层叠上下文层级限制,需检查父容器是否创建了新的层叠上下文。
-
需通过标准超链接配合相对/绝对路径实现双向导航:一、用相对路径(如“page2.html”或“../page1.html”);二、用锚点(如“page1.html#section-a”);三、用根相对路径(如“/about.html”,需本地服务器支持);四、用JavaScript动态加载导航;五、验证链接有效性,避免404。
-
will-change仅在动画只涉及transform/opacity且已观察到掉帧时才可能提升性能;需动态设置并及时清除,避免滥用导致内存暴涨,现代浏览器(Chrome98+)已自动优化,优先使用contain等更有效的手段。
-
使用CSS框架可高效实现表单样式统一。1.选择Bootstrap、Tailwind等主流框架,按需选用预设类;2.采用框架提供的表单类如.form-control规范结构;3.通过主题配置或自定义CSS保持视觉一致;4.确保响应式与可访问性,正确关联label与输入框,适配多设备显示。
-
box-shadow叠太多会卡顿甚至白屏,因每条阴影都需独立模糊、合成与重绘,易致GPU内存溢出或主线程阻塞;单元素建议不超过20条,爆炸效果宜用5–8层+scale动画实现。
-
图片体积大拖慢首屏渲染,需压缩转WebP/AVIF、用srcset响应式、禁用width/height硬编码、首屏图禁用lazy并设fetchpriority="high"、内容图禁用background-image、慎用第三方CDN服务。