-
transition必须写在初始状态而非伪类中,且仅对可过渡属性(如color、transform)生效;不可过渡属性(如display、height:auto)需用max-height等替代;多处声明时后写覆盖前写。
-
ES10(ECMAScript2019)增强实用性与可读性,新增flat()/flatMap()、Object.fromEntries()、trimStart()/trimEnd()、可选catch绑定、Symbol.description、toString()保留注释及JSON.stringify()修复行分隔符处理。
-
伪类和伪元素可连写如:hover::after,但需先定义::after并设置content才能生效;悬停仅控制显隐,须配合visibility/opacity及transition;移动端hover不可靠,无障碍和动态定位需JS补充。
-
SSE是服务器向浏览器单向推送数据的技术,基于HTTP、使用EventSourceAPI实现,适合实时更新场景。1.前端通过newEventSource()连接后端接口,onmessage接收数据;2.后端返回Content-Type为text/event-stream,按格式发送data、event、id、retry字段;3.支持自定义事件监听与断线重连,浏览器自动携带Last-Event-ID恢复;4.适用于日志监控、行情推送等服务端频繁推送场景,但不支持二进制和IE,需注意代理缓冲配置。
-
JavaScript前端路由主要依靠HistoryAPI实现无刷新页面切换,通过pushState/replaceState修改URL并用popstate监听导航,配合路径匹配与组件渲染;旧浏览器可降级使用hashchange事件。
-
Promise链是通过.then()方法串联多个异步操作,确保依次执行并传递结果,例如fetch用户数据后请求其文章,每步返回值或Promise供下一步使用,错误由末尾.catch()统一捕获,需避免断链陷阱如忘记returnPromise。
-
CSS属性选择器默认大小写敏感,使用[i]修饰符可实现ASCII字母的大小写不敏感匹配,支持=、~=、*=、^=、$=等类型,现代浏览器已兼容,IE不支持。
-
本文讲解如何在点击关闭按钮后正确隐藏导航巨幕菜单,同时确保后续悬停仍能正常触发显示,避免因display:none持久化导致交互失效的问题。核心方案是使用classList.toggle()或配合mouseover动态清理隐藏类。
-
答案:SSR需区分执行环境,服务端仅支持初始化与渲染,客户端处理DOM和事件;通过框架机制如getServerSideProps预取数据,hydration同步状态,实现两端一致的生命周期管理。
-
必须给父容器设置display:flex,justify-content:space-between才生效;它将可用空间均分给项目间间隙,而非每个项目;实现视觉均匀推荐flex:1或space-evenly(兼容性需注意)。
-
能转,但需重写核心渲染逻辑和交互控制层;必须用useState/useReducer驱动更新、JSX描述节点、useDrag/useDrop实现拖拽、JSONSchema映射组件、抽象样式为可序列化字段、白名单过滤属性、immutablestate管理撤销重做。
-
JavaScript可通过WebBluetoothAPI在支持浏览器中直接连接BLE设备,适用于工业传感、医疗监测、教育开发及门禁验证等场景,需HTTPS、用户触发、设备广播指定服务且仅限Chrome/Edge支持。
-
HTML5已废弃<marquee>标签,须用CSS动画重写:横向滚动用@keyframes+translateX(),垂直滚动需同步容器高、行高与位移值,Safari需加transform:translateZ(0)稳定渲染。
-
使用margin和gap调整卡片间距,.card设置margin-bottom并清除最后一项,推荐flex或grid布局用gap自动分配间距,grid支持行列不同gap,注意避免margin与padding叠加,统一box-sizing,移动端用rem适配。
-
行内非替换元素的margin-top和margin-bottom无效是CSS规范约定,因其在行内格式化上下文中无垂直布局空间;左右margin可生效,上下padding不影响行高;替换元素(如img)则支持完整外边距。