-
某些选择器在特定浏览器中失效是因为这些浏览器版本过低或不完全支持较新的CSS标准,导致无法识别如:has()、:focus-within等现代选择器,进而忽略整个CSS规则块;解决方法是降级使用基础属性选择器,例如用[class*="..."]替代模糊类名匹配,用input[type]结合JS实现:checked的兼容效果,并通过重构HTML结构或使用@supports检测、PostCSS转译等手段提升样式兼容性,确保在IE7+等旧环境也能正常渲染。
-
table-layout:fixed是CSS中控制表格列宽计算方式的属性,它使浏览器仅依据第一行或col元素的宽度声明来确定列宽,从而实现可控的自适应布局。
-
纯HTML可实现三种浪漫表白页:一、渐变背景+心跳动画文字;二、点击触发淡入弹窗告白;三、滚动逐行浮现诗意情书。均无需后端,保存为.html即可运行。
-
Date对象无内置格式化方法;toISOString()恒返UTC时间;toLocaleString()需精确配置locale与options;getMonth()返回0–11需+1;手动格式化须区分本地/UTC时区。
-
PostCSS-preset-env的stage参数是特性准入门槛而非功能开关,设stage:3表示仅考虑成熟度≥Stage3(W3C候选推荐)的特性,再结合browserslist和features配置二次筛选;stage值0–4对应不同标准化阶段,需与browserslist协同生效,单独调低stage并不提升兼容性,最终是否转译取决于目标浏览器实际支持情况。
-
纯CSS无法实现数字递增滚动动画,因counter-increment离散触发且@keyframes不能插值;唯一纯CSS方案是@property(仅Chromium支持),但实际推荐JS驱动数值+CSS处理位移过渡。
-
滚动驱动缩放必须用JavaScript监听scroll事件并动态更新transform:scale(),需注意transform-origin设置、合并其他transform值、限幅处理、requestAnimationFrame节流、避免与touchmove混用,以及根据需求选择IntersectionObserver或手动计算位置。
-
Canvas在flex/grid中需用ResizeObserver同步width/height与clientWidth/clientHeight,并重置坐标系或缩放ctx.scale(),否则内容拉伸模糊、点击失灵;CSS缩放须配image-rendering:pixelated防锯齿。
-
偏函数是通过预设部分参数生成新函数的技术,如用bind固定add函数的b为10得addTen(5,6)结果21;也可自定义实现支持占位符的偏函数以灵活绑定任意参数。
-
HTML5无专属边框标签,图片边框全靠CSS实现;常用border+border-radius组合控制粗细、颜色、圆角;box-shadow可实现浮雕/双线等效果;outline和border-image不推荐用于常规精致边框。
-
$:是Svelte的响应式声明前缀,用于定义依赖响应式变量的自动重执行逻辑,当其引用的值发生变化时,语句会立即重新运行,是构建高效、可维护Svelte应用的关键语法。
-
JavaScript垃圾回收机制的核心是“标记-清除”算法,引擎从根对象(如全局对象、调用栈)出发,标记所有可达对象,未被标记的不可达数组在清除阶段被回收;2.数组能否被回收取决于是否存在强引用,当所有引用被解除(如赋值为null、超出作用域、从父结构移除)时,数组变为不可达,即可被回收;3.常见内存泄漏原因包括闭包捕获大数组且闭包长期存在、全局变量持有数组引用、未移除的DOM事件监听器间接引用数组、缓存无淘汰策略;4.避免泄漏的最佳实践是及时将不再使用的数组引用设为null、限制变量作用域、组件销毁时清
-
静态分页是用CSS+JS切割DOM实现的前端模拟分页,不依赖服务端或数据库;通过querySelectorAll获取条目、按pageSize切分二维数组chunks,再动态替换容器内容并绑定按钮控制翻页。
-
最合规做法是用<a>标签包裹来源名称并指向原始页面。需添加target="_blank"和rel="noopenernoreferrer"确保安全与体验,避免纯文本、注释或title属性等无效方式,链接文案应明确包含网站名与原文标题,且必须真实可达。
-
replaceAll在现代环境(Chrome85+/Firefox78+/Safari13.1+/Node.js15.0+)原生支持,专用于全局字面量替换,不接受带g标志的正则,纯字符串匹配不转义元字符,简单替换更安全高效,复杂逻辑仍需replace。