-
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)则支持完整外边距。
-
本文介绍如何利用JavaScript的rest参数语法,让函数能接收任意数量的回调函数作为参数,避免硬编码参数名,提升代码复用性与可维护性。
-
Modernizr不会自动为html添加类名,需确保脚本正确加载、DOM就绪后再读取className,并确认检测项(如flexbox)已启用;Modernizr.load已废弃,应改用loadjs或原生import();@supports可替代纯样式检测,Modernizr适用于JS行为分支。
-
使用HTML5video标签可直接嵌入视频,通过提供MP4和WebM多格式源文件确保兼容性,并结合controls、autoplay、muted等属性优化播放体验。
-
CSSModules通过编译时重命名类名实现样式局部作用域,需文件名含.module.css、构建工具支持(如Webpack配modules:true),导入后通过对象访问类名,不支持全局嵌套,伪元素和动画需:local()包裹。
-
PSD转HTML5后嵌入视频有四种方法:一、用<video>标签直接嵌入本地MP4/WebM/OGG视频;二、嵌入YouTube/Vimeo的响应式iframe;三、JavaScript动态加载控制视频;四、添加WebVTT字幕与aria-label实现无障碍支持。