-
box-sizing:content-box是CSS默认盒模型,width和height仅包含内容区域,不包括padding和border,设置后元素总宽为width+padding+border;常用于需精确控制内容尺寸、兼容第三方组件或配合JS尺寸计算的场景;实际开发中无需特别声明,除非全局被修改。
-
优化Gatsby站点需从代码分割、资源压缩、预加载和构建配置入手,通过懒加载组件、使用gatsby-plugin-image优化图片、预加载字体、精简插件与压缩资源,结合CDN分发和bundle分析持续提升性能。
-
fixed元素不随页面滚动是正常行为,若异常滚动,通常因父容器触发了新的定位上下文(如transform、opacity、filter等),使其参考系从视口变为父容器。
-
使用Flexbox可通过align-items:stretch实现等高图片排列,将图片包裹在flex子项中并设置flex:1,结合object-fit:cover确保图片不变形;通过flex-wrap:wrap和flex-basis设置最小宽度,配合gap控制间距,利用容器的display:flex构建响应式弹性图片网格,使布局在不同屏幕下自动换行并均分空间,保持视觉整齐。
-
IntersectionObserverAPI用于高效监听元素进入/离开视口,适用于图片懒加载(data-src→src)、无限滚动(监听loader触发分页)、滚动动画(按intersectionRatio添加class)和曝光统计(如50%可见1秒),需及时unobserve防泄漏。
-
z-index控制定位元素的层叠顺序,数值越大越靠前,负值置于背景;margin调整元素间平面距离,影响布局但不改变层级。两者协同实现复杂效果:如导航下拉菜单用z-index提升层级、margin留白防文字紧贴;卡片堆叠时负margin实现重叠、z-index指定顶层卡片;模态框通过absolute定位与margin:auto居中,z-index:1000确保浮出顶层。掌握二者配合可灵活处理重叠与排列需求。
-
图片在Flex布局中易变形,主因是img为替换元素且默认flex-shrink:1;应结合object-fit控制内容适配方式,并设置明确宽高或aspect-ratio,同时重置flex-shrink防止压缩。
-
::backdrop伪元素可自动为全屏元素或模态对话框创建样式化遮罩层,无需额外DOM。它能实现半透明模糊背景、自然动画效果,并避免z-index冲突,相比传统多节点遮罩更简洁高效。主流浏览器已支持,不兼容时可降级使用JavaScript方案。
-
hsla()函数通过色相、饱和度、亮度和透明度定义半透明颜色,适用于现代UI设计中的背景、文字、边框及渐变效果,相比rgba()更直观调控色调变化。
-
使用background-size属性可实现背景图像动态缩放:cover保持比例全覆盖但可能裁剪;100%100%强制拉伸易变形;contain完整显示留空白;媒体查询适配多端;CSS变量支持动态控制。
-
使用JavaScript对表单数据进行前端格式化可提升准确性与体验,如手机号分段、金额千分位、邮箱域名小写等;通过监听input或blur事件实时处理,并在submit时统一清理空格、标准化日期、过滤非法字符;结合HTML5的type和pattern属性引导输入,辅以Inputmask、Numeral.js等库处理复杂格式,平衡用户体验与数据规范。
-
CSS过渡通过transform和transition实现卡片3D翻转,核心是设置perspective、transform-style和backface-visibility,结合rotateY与transition平滑切换正背面,适用于展示类交互场景。
-
通过@import结合媒体查询可实现按设备、屏幕尺寸或主题动态加载样式,如print.css仅打印时加载,mobile.css在小屏加载,desktop.css在大屏加载;将样式拆分为reset、header等模块,按需引入可减少资源浪费,提升性能;但@import为同步阻塞操作,过多嵌套会影响渲染速度,建议少用多层导入,关键样式用<link>或内联,非关键样式可用@import延迟加载,现代项目更推荐使用Webpack、Vite等构建工具实现真正按需加载。
-
答案是构建响应式页面需以移动优先为原则,结合语义化HTML结构、CSS媒体查询、Flexbox与Grid布局、相对单位及图片自适应等技术。首先通过HTML5语义标签搭建内容骨架,确保结构清晰;在CSS中采用移动端优先策略,利用媒体查询设置断点,配合flex-direction、justify-content等Flexbox属性实现一维布局,或使用grid-template-columns、gap等Grid属性构建二维布局;同时运用rem、vw、%等相对单位提升弹性;并通过max-width:100%和he
-
JavaScript状态管理核心是让数据变化可预测、可追踪、可调试;小应用用useState/useReducer,中大型才需Redux等集中式方案,选型应匹配业务复杂度。