-
层提升由浏览器自动触发,非手动开关;常用CSS属性包括transform:translateZ(0)、will-change:transform、opacity:0.99和filter;但仅层提升不能强制调用独显,须配合Windows图形设置或NVIDIA控制面板绑定高性能GPU,并通过chrome://gpu及任务管理器GPU性能页验证是否生效。
-
清除浮动可解决父容器高度塌陷问题。常用方法包括:添加空元素并设置clear:both;使用::after伪元素结合display:table和clear:both(推荐);通过overflow、auto或display:flow-root触发BFC以包含浮动。其中display:flow-root和伪元素法更优,兼顾语义与兼容性,适用于现代开发。
-
弹性盒子通过display:flex实现一维布局,flex-direction控制方向,justify-content和align-items定义主轴与交叉轴对齐,flex属性调节项目伸缩,常用于导航、居中等响应式设计。
-
平滑的背景色动画必须用transition而非@keyframes,需明确声明background-color、使用hsl()或rgb()值、指定cubic-bezier时序,并避免background简写和background-image干扰。
-
父容器高度塌陷是因浮动元素脱离文档流,修复方式包括:加空div并clear:both、用clearfix类(推荐伪元素display:block+clear:both)、或改用Flex/Grid布局。
-
前端无法真正实现服务端级令牌桶限流,但可构建以“感知+反馈”为核心的客户端节流层,通过performance.now()模拟填充、X-RateLimit-Remaining和Retry-After实现自适应协同限流。
-
clearfix必须用::after而非::before,因其作为最后“视觉子节点”设clear:both才能截断浮动流;content:""不可省略,否则伪元素不渲染;height:0和visibility:hidden缺一不可,分别控制空间占用与可见性交互;flow-root可替代但兼容性有限,旧版Safari及全部IE不支持。
-
flex容器中justify-content仅作用于主轴,align-items作用于交叉轴;主轴方向由flex-direction决定,默认row时主轴为水平,故justify-content:center仅水平居中,需配合align-items:center实现完全居中。
-
必须用fetch或XMLHttpRequest发起请求并调用response.json()才能获取JSON响应;需阻止表单默认提交、设置Content-Type:application/json,并确保后端返回合法JSON。
-
@import会阻塞后续CSS和JS执行,因其强制同步加载、暂停解析并串行请求,导致白屏延长、JS卡顿;应全部替换为<link>标签实现并行下载与异步解析。
-
闭包通过作用域隔离实现变量真正不可变:内部变量无法被外部访问或修改,仅暴露经校验的变更方法。如订单状态机中,state和流转规则封装在闭包内,仅提供getState()和带校验的transition(),杜绝直接操作。
-
order属性仅在display:grid或inline-grid容器的子项上生效,用于控制网格流中的视觉顺序,不影响DOM结构、可访问性及SEO。
-
答案:掌握基础CSS属性可设计简洁美观的按钮。首先设置背景色、边框、内边距、文字样式和圆角;再通过:hover实现悬停变色与阴影,:active添加按下缩放效果;最后扩展线框或危险等变体,注重颜色对比与交互细节,提升用户体验。
-
Chrome105+和Edge111+原生支持VirtualKeyboardAPI,但需先设置<metaname="viewport"content="height=device-height,virtualkeyboardpolicy=auto">,再通过navigator.virtualKeyboard.addEventListener("geometrychange",...)监听键盘显隐;iOS不支持该API,须降级为focu
-
使用position:absolute和z-index可实现按钮提示框,首先设置父按钮为relative定位,提示框为absolute定位并用top、left和transform调整位置,通过:hover触发opacity显示,同时设置z-index确保层级优先,避免被其他元素遮挡,配合transition实现淡入效果,并可通过::after伪元素添加指向箭头,提升视觉引导。