-
事件传播包括捕获、目标和冒泡三个阶段,事件从document向下传递至目标元素再向上返回;默认在冒泡阶段触发监听器。通过设置addEventListener的第三个参数为true可于捕获阶段监听。事件委托利用冒泡机制,将事件绑定到父元素上,通过e.target识别实际触发元素,从而减少内存占用、支持动态元素并简化维护。例如为列表父元素绑定点击事件即可处理所有子项点击。使用e.stopPropagation()阻止事件继续传播,e.stopImmediatePropagation()additionally
-
使用position:sticky或fixed可实现导航栏常显。1.sticky在滚动到阈值时粘住,不脱离文档流,需设top值,兼容性较弱;2.fixed使导航栏始终固定于视口,脱离文档流,需为body添加padding防遮挡;3.sticky适合自然滚动后固定,fixed适合始终固定或复杂交互;4.Bootstrap等框架提供sticky-top和fixed-top类快速实现。根据布局与交互需求选择,前者轻量自然,后者控制更强。
-
Flex布局三步搭建页面结构:先设display:flex启用,再用flex-direction定主轴方向,最后用justify-content和align-items控制对齐及flex分配空间。
-
使用Flexbox结合媒体查询可实现响应式页脚对齐。1.设置display:flex,用justify-content和align-items控制主轴与交叉轴对齐;2.在小屏下通过mediaquery改为column布局,居中对齐提升可读性;3.多区域页脚采用嵌套flex容器,配合gap和flex-wrap实现自适应;4.注意IE兼容性、避免固定宽度,并辅以text-align优化文本对齐,确保在不同设备上均良好显示。
-
弹窗CSS定位核心是遮罩层用fixed全屏覆盖,弹窗主体用fixed+transform居中;需设max-width/max-height防溢出,配合overflow-y:auto、body滚动禁用、焦点管理及动画优化以保障响应性与可访问性。
-
要构建支持TreeShaking的JavaScript库,需使用ES模块语法、避免副作用、配置package.json正确声明模块入口与无副作用,并通过Rollup等工具打包输出ESM格式,确保未使用代码可被安全移除。
-
现代前端推荐用类名控制、媒体查询和动态加载替代条件注释。1.通过JavaScript给html或body添加类名,再用CSS定义对应样式;2.使用CSS自定义属性结合JS切换主题;3.动态创建link标签按需加载CSS;4.利用@media根据设备特征应用样式。这些方法更灵活、可维护,且符合现代标准。
-
JSON.parse()将JSON字符串转为JavaScript对象,JSON.stringify()将其转回字符串;二者不互逆,Date、NaN等类型会丢失或出错,使用时需校验输入并处理边界情况。
-
JS实现多语言切换的核心是通过JSON文件管理多语言文本资源,并利用JavaScript动态加载和替换页面文本;具体做法是将不同语言的文本以键值对形式存储在JSON文件中,通过fetch加载对应语言包,结合localStorage保存用户选择的语言,使用translate函数根据键名返回对应文本并支持动态占位符替换,再通过data-i18n属性标记需翻译的元素,在语言切换时遍历这些元素更新内容;该方案轻量可控,适用于简单场景,但面对复数形式、动态内容插值、多语言格式化等复杂需求时,手动实现维护成本高,因此
-
localStorage默认持久化,但需避免无痕模式、跨协议访问、未序列化对象、重复覆盖等误用;存取对象须用JSON.stringify/parse并try-catch;storage事件不触发当前页;容量受限且因编码差异实际可用空间不同。
-
:target是CSS伪类,用于选中URL片段标识符对应的元素。结合::before可在锚点跳转时插入提示内容,如“?您正在查看这里”,通过高亮样式提供视觉反馈。示例中,.highlight:target::before添加醒目提示块,增强单页或FAQ页面的定位体验。需注意布局影响、可访问性及旧版IE不兼容问题。
-
HTML5通过WebCryptoAPI手动实现HKDF(Extract+Expand),需用HMAC-SHA256分两步派生密钥:先以salt为key、IKM为message得PRK,再以PRK为key迭代HMAC生成输出;主流浏览器均支持,但旧版Safari对raw导入有限制。
-
justify-items用于Grid布局中控制项目在行内轴(水平)的对齐,align-items在Grid和Flexbox中均适用,控制块轴(垂直)对齐,Flexbox中主轴对齐由justify-content实现,默认值均为stretch。
-
高阶函数是将函数作为参数或返回值的设计实践,本身不提升可读性;其优势需配合纯函数、无副作用和合理抽象才能体现。
-
本文提供无需媒体查询的纯CSS解决方案,通过合理运用position、z-index和负边距,使英雄图层与悬浮文本框形成独立视觉容器,确保后续内容自然流式排布,彻底摆脱反复调整媒体查询的维护负担。