-
grunt-contrib-cssmin仅压缩不合并,需搭配grunt-contrib-concat显式分离合并与压缩;其files写法会分别压缩再写入,不处理@import、顺序错乱及兼容性问题,易致线上样式异常。
-
用--radius自定义属性统一管理圆角是最轻量易维护的方式,需全局引用、避免硬编码,并通过calc()或分层变量(如--radius-btn)应对差异化需求,同时注意Safari兼容性及响应式缩放问题。
-
要让::after伪元素居中,需在父元素设text-align:center并使伪元素为display:inline-block;若用flex布局,则父元素设display:flex并配合justify-content和align-items。
-
overflow-wrap:break-word单独使用无效,需配合white-space:normal和明确的max-width才能触发换行;flex子项还需加min-width:0解除默认保护。
-
观察者模式与发布订阅模式本质不同:前者是对象间紧耦合的同步通知,后者通过事件总线实现松耦合异步通信;适用场景分别为模块内实时响应和分布式系统跨服务通信。
-
使用position:sticky可实现侧边栏固定布局,通过将侧边栏和主内容置于同一父容器中,设置父容器高度及滚动属性,侧边栏添加sticky定位并指定top值,确保在滚动时保持吸附效果;当内容高度不足时,可设置min-height或结合JavaScript调整行为,需注意避免父元素overflow:hidden以保证兼容性,该方法在现代浏览器中表现良好且无需脱离文档流。
-
分片迭代通过将大任务切分为小块并用setTimeout让出主线程,保障页面响应性。它避免单线程阻塞导致UI假死,适用于顺序不敏感、中等数据量场景,核心是固定块大小、索引控制范围、setTimeout(…,0)调度。
-
用<dl>+<dt>/<dd>表示“完成全部课程”最贴切,<dt>写条件(如“课程进度”),<dd>放状态并设data-status属性,配合aria-live和CSS属性选择器实现语义化、可访问、易维护的动态提示。
-
前端用BigInt实现雪花算法ID完全可行,因其能精确表示64位整数,避免Number精度丢失;可安全解析、比较、排序ID,但生成仅限测试/离线场景。
-
若页面图片不显示、动画失效或样式错乱,需检查路径、标签用法及加载顺序:一、img标签须设正确src与alt;二、script置body底或加defer,确保DOM就绪;三、link须在head中且rel="stylesheet";四、CSSbackground-image路径以CSS文件为基准;五、picture配合source实现响应式图片。
-
align-items:stretch能让子元素垂直拉伸,但需父容器有明确高度且子元素未设置height、align-self等覆盖属性;否则因交叉轴无可用空间或样式冲突导致失效。
-
click事件在mousedown和mouseup之后触发,且仅当两者发生在同一元素、时间短、无显著移动时才触发;常见不触发场景包括移出元素松开、长按、disabled状态或preventDefault干扰;mousedown适合即时响应,click适合语义化操作。
-
object-fit是什么,为什么不能用background-image替代它控制的是或这类替换元素(replacedelement)在容器内如何缩放和裁剪,不是背景图的填充逻辑。background-image的background-size看似功能重叠,但语义和渲染行为完全不同:前者影响内容流、支持宽高比保持、能响应父容器尺寸变化;后者只是装饰层,不参与文档流,也不触发img的加载/错误事件。常见错误现象:拉伸变形、上下留白、被父容器裁掉一半却没反应——本质是默认ob
-
图片懒加载通过延迟加载非可视区图片提升性能,核心是用data-src存储真实路径,结合IntersectionObserver监听进入视口时加载,推荐使用ObserverAPI以提升效率并降低主线程负担。
-
CSS折角效果本质是用::before画旋转三角形、::after叠纯色偏移投影,分离视觉层与阴影层以避免旋转导致阴影歪斜和溢出。