-
必须重置h1–h6默认样式并遵循HTML5语义规范:统一用all:unset重置,按需定义字体、间距;每页仅一个h1,层级递进使用h2–h6;用语义类名替代标签依赖;响应式需分层媒体查询控制。
-
要反转对象数组的键值对,需遍历每个对象并交换其键与值,但需注意值的唯一性及类型限制。1.使用map和Object.entries()配合reduce或for...of循环创建新对象,将原值作为新键,原键作为新值;2.若值为对象或数组,直接用作键会转为"[objectObject]"导致冲突,可采用JSON.stringify()序列化处理,但需注意性能与循环引用问题;3.当存在重复值时,直接赋值会导致覆盖,应使用数组存储对应键以避免数据丢失;4.Lodash的_.invert仅适用于单
-
grid-template-rows使用auto时行高由内容决定,适合动态内容;使用固定值(如50px)则布局规整,适合对齐要求高的场景。可混合使用,如60pxauto40px,兼顾灵活性与结构统一。
-
需同时支持鼠标和触摸事件以实现跨设备拖拽。首先通过检测ontouchstart判断是否为触摸设备,并据此统一使用touchstart/mousedown等对应事件;在事件回调中优先从touches[0]或clientX/clientY提取坐标,封装函数屏蔽差异;拖拽开始时绑定相应move/end事件,结束时及时解绑以防冲突;仅在位移超过阈值确认拖拽后调用preventDefault()避免误阻滚动。通过统一事件接口与状态管理,确保桌面与移动设备均流畅交互。
-
<mark>标签本身性能开销极小,真正影响首屏速度的是不当CSS样式、大规模无节制渲染及客户端动态插入等误用行为。
-
HTML5中<header>、<nav>、<main>、<section>、<article>、<aside>、<footer>等结构标签必须成对闭合,否则会导致DOM解析异常、CSS失效、无障碍访问受损及W3C验证失败。
-
animation-delay用于设置动画首次播放前的延迟时间,仅错开起点而不暂停或中断动画;可为负值实现中途开始,需配animation-fill-mode:backwards避免闪动。
-
使用伪类可实现图标交互效果::hover改变悬停样式,:active响应点击状态,:focus提升可访问性,结合::before/:after动态替换图标内容,通过颜色、大小、transform等属性增强视觉反馈。
-
flex布局里align-items不生效?检查父容器是不是块级且有高度很多情况下写完display:flex和align-items:center,子元素就是不居中——大概率是父容器没撑开。flex的垂直居中依赖父容器明确的高度(height或min-height),否则它会按内容自动收缩,导致“居中”无从谈起。常见错误现象:div里放了个按钮,加了flex居中,但按钮还是贴着顶部;检查computedstyles会发现父容器height是0。确保父容器设
-
Promise是一个状态容器,初始为pending,之后只能变为fulfilled或rejected且不可逆;它不是回调函数的语法糖,也不能让异步变同步。
-
浮动元素重叠因脱离文档流导致布局错乱,常见于未清除浮动的父容器或相邻元素;2.解决方法包括使用clear属性、触发BFC(如overflow:hidden)、clearfix技巧(伪类after清除);3.推荐采用Flex或Grid现代布局,无需处理浮动问题,结构更简洁,响应式更优。
-
HTML是前端开发基石,在跨平台、轻量交付中持续强化;需掌握HTML5语义化、原生API、多环境适配、工程化协作、垂直领域应用及性能安全优化五大路径。
-
优化JavaScript网络请求需减少请求数量、合并资源,并结合强缓存、协商缓存与客户端缓存策略,利用浏览器缓存、内存存储及ServiceWorker实现多层级缓存,提升性能。
-
字体切换不生效的核心原因是未解决字体回退链和语言匹配机制。需确保font-family名称全局一致、用lang属性配合字体堆叠、验证字体文件实际包含目标文字字形,并谨慎使用font-display策略。
-
JavaScript实现动画核心是控制样式随时间变化,与CSS动画分工协作:JS负责触发、流程控制和交互响应,CSS负责定义平滑高性能的视觉变化;手动实现用requestAnimationFrame比setTimeout更高效;CSS动画通过@keyframes定义,JS通过class或animationPlayState控制;协作时需避免属性冲突,可用CSS自定义属性或WebAnimationsAPI提升灵活性;简单预设动画选CSS,动态复杂逻辑选JS。