-
通过设置flex-grow:1,子元素可在Flex布局中自动填满父容器的剩余空间,解决响应式设计中的尺寸适配问题。
-
Permissions-Policy(原FeaturePolicy)是声明式策略,通过HTTP响应头或iframe的allow属性在资源加载前限制API访问;allow属性仅作用于该iframe及其子上下文,权限需显式指定来源并用分号分隔,空格分隔已废弃,且不控制父页面行为。
-
TrustedTypes是需服务端、策略层、调用层三方对齐的强制拦截机制;必须配置CSP响应头(如require-trusted-types-for'script'),否则JS策略无效,且策略名须与CSP中声明的一致,否则抛TypeError。
-
“一键复制”卡顿主因是剪贴板API的权限、执行时机与格式处理:需用户手势同步调用,HTTPS环境,iOS13.4+才支持writeText;HTML内容须用write()配text/htmlBlob实现富文本粘贴,writeText仅支持纯文本。
-
贪吃蛇核心是坐标更新、碰撞检测、食物生成三步:用requestAnimationFrame驱动,蛇身存{x,y}数组,禁止180°掉头,撞墙/自身(从第4节起检测)/吃食物判定,食物在空闲格子中随机生成。
-
纯CSS深度按钮靠多层linear-gradient叠加实现明暗错觉:第一层tobottom垂直高光渐变,第二层toright水平阴影渐变,顺序不可颠倒,用background-size/position精准控光效;stop-color是SVG属性,CSS中应写#fff0%;:active时位移各层background-position增强按压感;IE11等旧环境用@supports降级单层渐变。
-
:checked+label不生效的根本原因是DOM顺序错误:input必须在同级label之前,因+选择器只能向后匹配;正确结构为<input><labelfor="id">,或改用<label><input></label>配合:has()或后代选择器。
-
color不能直接用keyframes逐帧精准卡点改色,因其RGB线性插值会导致中间色干扰;应优先用SVGstroke分段配rotate动画,或CSS伪元素叠加错峰旋转实现多色轮转。
-
-webkit-line-clamp必须与display:-webkit-box、-webkit-box-orient:vertical、overflow:hidden配合使用才生效,缺一不可;单独设置会被浏览器忽略,且仅在WebKit内核浏览器中支持,Firefox和IE需降级处理。
-
navigator.locks.query()不能监控localStorage或IndexedDB的锁状态,因其仅管理跨线程/标签页的WebLocksAPI同步原语;localStorage无公开锁机制,其隐式页面级互斥锁不可查询;IndexedDB事务隔离由浏览器自动处理,开发者无法干预或观测底层锁。
-
*重置边距常失效,因浏览器默认样式权重高、优先级低且box-sizing不统一;应改用html/body显式清零+**,::before,::after组合重置并设border-box。
-
字体回退是浏览器按font-family顺序逐个匹配的硬性规则,需显式声明中文字体、正确设置font-display:swap、src中网络字体置前、local()置后,并确保font-weight/style与文件一致。
-
JavaScript对象应优先用字面量{}创建,动态键名用计算属性,点号仅限合法标识符属性名,方括号用于动态或非法名,访问不存在属性返回undefined,可选链可防御深层访问错误。
-
justify-content:space-between没生效的主因是容器宽度不足或子元素存在干扰性margin/padding;应确保父容器有明确宽度、清除子元素外边距、避免inline/float残留,优先用Flex的margin:auto或Grid的grid-template-columns实现可靠布局。
-
JavaScript通过原型链实现继承,每个对象的[[Prototype]]指向其原型,形成查找链。构造函数的prototype属性作为实例的原型,实例通过__proto__访问。属性查找先自身后原型链,修改仅影响当前对象。常见继承方式有原型链继承、构造函数借用、组合继承及寄生组合式继承,其中组合继承最常用,寄生组合式更优。ES6class语法简化操作,但底层仍基于原型链,理解其原理对掌握JavaScript对象模型至关重要。