-
IE6–8中position:absolute偏移不准的本质是父容器未触发hasLayout,导致绝对定位参考错误包含块;需用zoom:1等可靠方式主动触发,而非仅依赖position:relative。
-
overscroll-behavior用于切断嵌套滚动容器间的事件传递链,仅在可滚动容器(overflow非visible且内容溢出)滚动至边界时生效;典型场景为模态框或侧边栏滚动到底/顶时阻止背景页面滚动。
-
答案:HTML5中通过JavaScript监听滚动并触发动画,常用window.scroll事件结合getBoundingClientRect判断元素位置,或使用IntersectionObserverAPI提升性能。1.基础方案用scroll事件检测滚动位置,当元素进入视口时添加CSS动画类;2.为避免性能问题,可采用节流函数控制事件频率;3.现代推荐方案是IntersectionObserverAPI,异步监听元素与视口交叉状态,适合大量元素高效处理,且自动解绑以防止重复执行,适用于视差滚动、懒加载等
-
html-minifier-terser比手动或在线工具更安全高效,能智能跳过pre/textarea/script等敏感区域,避免破坏代码块和模板语法;需正确配置对象而非布尔值,并配合服务端gzip/brotli压缩才能真正提升传输性能。
-
box-sizing属性控制width/height是否包含padding和border,默认content-box,设为border-box则总宽固定;老项目在Chrome中“变窄”实为未重置box-sizing导致跨浏览器不一致。
-
<picture>提供声明式适配,浏览器依media、srcset、sizes和type自主选图;<source>自上而下匹配,media是CSS查询(括号必写),srcset统一用w或x描述符,sizes在<img>上声明,type必须为标准MIME(如image/webp),错误则跳过;兜底靠<imgsrc>。
-
box-shadow多值叠加时,前面的阴影在上层、后面的在下层,应按“从外到内、从虚到实”顺序排列,避免不透明阴影遮挡透明光晕;SCSS中需用unquote(join())正确拼接字符串参数。
-
font-style控制倾斜,font-weight控制粗细。前者用normal/italic/oblique设置斜体,后者用normal/bold或100-900数值设置字重,两者可同时作用于文本,如em{font-style:italic;font-weight:bold}实现又斜又粗效果。
-
使用clamp()控制vw字体和间距可避免过激响应,如font-size:clamp(1rem,4vw,2.5rem);line-height应用无单位值(如1.4)以同步缩放;推荐rem+vw混合方案提升兼容性与可控性。
-
LocalStorage不适合存储敏感数据,因其易受XSS攻击且无作用域隔离;应避免保存密码、令牌等信息,优先使用httpOnlyCookie存储认证凭据,并通过CSP、输入过滤和框架防护防范XSS,必要时对非敏感数据进行前端加密校验。
-
前端埋点通过在交互节点插入代码采集用户行为数据,主要分为代码埋点、可视化埋点和无痕埋点三类;通过JavaScript监听事件并上报数据,常用sendBeacon确保数据送达,结合data-track属性实现自动采集,需注意性能优化、数据脱敏、字段规范及小流量验证,以保证准确性与可维护性。
-
遇到CSS使用CDN样式加载不出来的问题,通常是因为当前使用的CDN节点不可用、网络被拦截或资源路径错误。解决这类问题的关键是快速定位并切换到可用的CDN节点,确保外部样式表能够正常访问。检查CDN资源是否可访问先确认当前引用的CSS文件是否能正常打开:在浏览器地址栏直接输入CDN链接,如https://cdn.example.com/bootstrap/5.3/css/bootstrap.min.css,查看是否能下载内容。如果页面空白或提示404、403,说明该节点可能失效或被屏蔽。打开开发者工具(F
-
首屏白屏时间长而DOMContentLoaded早触发,是因为渲染需完成关键CSS加载、JS执行、样式计算、布局、绘制等步骤,即关键渲染路径(CRP)阻塞在rendertree生成前;优化需聚焦资源加载时机与语义。
-
年历视图需用HTML表格或Grid布局实现,核心是JavaScript计算每月1日星期几和当月天数;热力图需归一化数据并用CSS自定义属性控制颜色渐变,避免硬编码与性能陷阱。
-
组件API设计应以开发者体验为核心,优先暴露语义化属性(value、min、disabled)和事件/方法控制状态,避免过度暴露内部属性;attributeChangedCallback需防批量触发与死循环;对外方法统一返回Promise;slot与事件才是核心扩展点。