-
transition对left+width失效是因为二者默认不触发重绘或合成层提升,且left需父元素设position:relative才生效、width在inline元素上无效;应改用transform:translateX()和scaleX()实现高性能平滑动画。
-
JavaScript通过原型链实现面向对象编程,每个对象都有指向其原型的内部链接,属性查找会沿原型链向上追溯直至null;函数的prototype属性用于构建实例的原型链,__proto__(或Object.getPrototypeOf)反映对象的原型连接,constructor默认指向构造函数,继承通过将子类原型设为父类实例实现,核心是原型链的拼接与查找机制。
-
使用input标签的type属性可创建多种日期选择器:1.type="date"选择年月日,格式YYYY-MM-DD;2.type="time"选择时间;3.type="datetime-local"选择日期和时间;4.type="month"选年月,type="week"选周;5.通过min、max和value设置范围和默认值,浏览器原生支持,无需JavaScript。
-
grid-column和grid-row的简写会覆盖单侧属性,混用时需确保简写在后;span表示跨轨道而非跨列;grid-area四数字写法更安全但不支持span;负数线号与end等价,起点固定才可靠。
-
li:nth-child(2)未选中第二个li,因其匹配父元素下第2个子节点且必须是li,若该位置为注释、div或空白文本节点则失效;而li:nth-of-type(2)只统计li标签序号,更稳定可靠。
-
路由平滑降级是前端针对低端设备优化跳转体验的实践策略:当检测到设备性能不足(如dpr<2、并发核数≤2、FPS<45或FCP>1800ms)时,自动降级为淡入、无动画等轻量过渡方式,保障响应速度与稳定性。
-
sub标签是唯一推荐方式,因其直接表达下标语义,确保浏览器、屏幕阅读器和搜索引擎正确解析;而vertical-align等CSS模拟方式会导致偏移不稳、可访问性缺失、PDF导出失效及CMS过滤等问题。
-
conic-gradient绘制饼图需注意角度基准(0deg在正右)、兼容性限制(IE/旧Safari不支持)、动态更新应使用CSS自定义属性而非拼接字符串、交互叠加需额外定位避免错位。
-
.progress和.progress-bar高度必须同步设置,否则会导致裁切、圆角错位或文字偏移;还需同步调整line-height和background-size,并避免使用已移除的Bootstrap4类名。
-
移动端Flex布局异常时应优先用媒体查询切换flex-direction为column。常见场景包括按钮重叠、卡片文字过窄、表单错位等;推荐断点max-width:768px,并配合align-items、justify-content、width等属性优化,真机测试必不可少。
-
必须将<metacharset="UTF-8">置于<head>开头、<title>之前;HTML文件须为UTF-8无BOM编码;HTTP响应头Content-Type也需设为charset=utf-8,三者缺一即可能导致中文乱码。
-
JavaScript的try...catch用于捕获同步运行时错误,防止脚本崩溃;支持catch捕获Error对象并推荐用message属性,finally确保清理代码执行;但无法捕获异步错误,需在回调或Promise中单独处理。
-
Store基类通过Object.defineProperty统一定义响应式访问器,setter嵌入queueMicrotask实现微任务通知,getter支持缓存与校验;用Symbol和WeakMap保障状态隔离与订阅安全,并预留_onStateChange等钩子供子类扩展。
-
JavaScript包管理器是现代前端和Node.js开发的基础设施,解决自动下载复用、依赖关系自管理、环境一致性保障三大问题;npm开箱即用,yarn更稳更快,两者命令对应、切换成本低。
-
:root伪类用于定义全局CSS变量,如颜色、字体等,便于维护和复用;通过var()调用变量,结合JavaScript可实现主题切换,如暗色模式;在媒体查询中重定义:root变量可实现响应式设计,提升项目可扩展性。