-
transition能平滑改变padding和margin,实现按钮悬停、菜单展开等自然过渡效果,需明确指定属性、避免使用all和auto值,并注意布局重排影响性能。
-
使用transition:transform0.3scubic-bezier(0.4,0.0,0.2,1)统一控制位移与缩放过渡,避免属性不同步;配合cubic-bezier(0.34,1.56,0.64,1)等自然缓动曲线提升流畅度,禁用step()函数防止断裂;通过transform:translateZ(0)或will-change:transform启用GPU加速渲染,减少卡顿,确保动画连贯。
-
选Sass更适合中大型项目。因其模块系统更可靠、构建工具链支持更成熟、CI/CD更稳定、调试与类型提示能力更强,且社区维护更活跃;LESS虽上手快,但长期维护成本更高。
-
背景没撑满的根本原因是父容器计算高度为0px,常见于浮动、绝对定位或Flex/Grid子元素脱离文档流导致的高度塌陷,需通过BFC触发、明确高度设置或调整布局方式修复。
-
:checked伪类仅适用于checkbox和radio输入框,通过相邻/兄弟选择器控制关联元素样式,无法作用于select、option或自定义组件,也不支持跨层级或class模拟。
-
最常见错误是CSS用.class但HTML漏写class属性;其次混淆后代选择器(空格)与子选择器(>);再者误用:nth-child与:nth-of-type;还有属性选择器值含特殊字符未加引号。
-
JavaScript有7种原始类型和object引用类型;判断真实类型应避免typeof,改用Array.isArray()、Object.prototype.toString.call()等;隐式转换易出错,显式转换推荐String()、Number()、Boolean()。
-
form.reset()最快但仅还原初始值,非真正清空;动态添加字段无效;需手动遍历设空:checkbox/radio设checked=false,select设selectedIndex=0或selected=false,textarea设value=""。
-
HTML5内容嵌入有五种标准方法:一、iframe嵌入独立页面;二、object嵌入文档片段并支持脚本通信;三、embed嵌入多媒体资源;四、JavaScript动态注入HTML5结构;五、ShadowDOM封装隔离组件。
-
lodash不能格式化HTML5日期,因其专注通用操作而不含日期处理模块;正确做法是用原生Date或dayjs解析ISO字符串再格式化。
-
html5play()不是HTML5标准函数,而是第三方SDK自定义方法;其自动播放受浏览器策略限制,需满足用户交互、muted、playsinline等条件才能生效。
-
答案:利用CSS媒体查询结合Flexbox或Grid布局,通过视口元标签、移动优先设计及容器查询等技术,实现表单在横竖屏下的自适应布局与输入体验优化。
-
需用JavaScript监听mousemove/touchmove,归一化鼠标坐标并取反缩放后设为background-position,配合requestAnimationFrame节流和resize重校准,才能实现平滑视差背景效果。
-
Canvas绘制水印图片是最可行方案:先drawImage绘制原图,再用fillText叠加半透明旋转文字,通过globalAlpha、字体、坐标和循环密度控制实现全覆盖水印。
-
用linear-gradient实现按钮背景渐变时,需省略background-color、至少设两个色标、配合background-clip避免露白;radial-gradient宜用百分比定位圆心并设transparent控制光晕;须声明纯色兜底防降级失效,注意多层叠加性能与色觉可访问性。