-
createContextualFragment是Range对象的方法,用于安全高效解析HTML字符串为DocumentFragment,不执行脚本、不触发回流;须通过document.createRange()调用,返回未挂载的轻量片段,支持多节点插入。119 收藏 -
SVG路径无法用CSS定位是因为其坐标系与CSS盒模型分离,需对<svg>外层容器定位而非<path>;装饰器贴合需同步坐标系与宿主边界;absolute定位后点击失效需设pointer-events和z-index;CSS仅安全动画stroke属性,d属性不支持过渡。119 收藏 -
SSR的核心是在Node.js中执行组件并生成带数据的HTML字符串,而非直接返回静态index.html;必须包含组件执行、数据注入、HTML合成三环节,且需规避浏览器API、保证同构、严格对齐客户端水合。119 收藏 -
正则表达式可通过捕获组与反向引用(如(.))\1{3,})识别连续重复字符以拦截垃圾输入,但不支持全局频率统计;需限定字符类型、前后处理空格,并在服务端复核。117 收藏 -
JavaScript支持函数式编程但需主动约束:不可变性(const≠不可变,需Object.freeze或immer)、纯函数(无副作用、输入输出确定)、柯里化(提升复用而非性能),核心是习惯而非语法。116 收藏 -
BEM通过将作用域编码进类名(如search-form__submit)实现样式隔离,避免全局冲突;禁止无上下文规则、!important和嵌套后代选择器,强调Block功能闭环与命名一致性。116 收藏 -
keygen标签已被彻底移除,所有主流浏览器均不解析;其替代方案是WebCryptoAPI手动生成密钥对或优先采用WebAuthn进行身份认证。114 收藏 -
flex容器上设break-inside:avoid无效,因分页控制需作用于块级子项;必须为每个卡片等子项单独添加该属性,并确保无overflow:hidden、transform、绝对定位等干扰,推荐@mediaprint中降级为block布局。113 收藏 -
CSS工具和框架本质不同:工具提升编写效率,如Sass、CSS-in-JS、PostCSS;框架提供现成样式,如Tailwind(原子类)、Bootstrap(组件化)、Materialize(设计系统)。选择取决于需求:统一管理用工具,快速搭建用框架。111 收藏 -
HTML5中script标签的type属性可省略,默认为text/javascript;仅type="module"有实质性行为差异,启用ES模块系统;type="application/json"等用于存储非执行数据。111 收藏 -
优先选择语义最匹配的API:查找用find/findIndex,判存在用some;性能瓶颈时再用for+break优化。for循环最可控高效,find语义最强,for...of可读性好但有轻微开销。110 收藏 -
可通过CSS.registerProperty()或@property注册带类型(如<color>、<length>)的自定义属性,提升样式计算与动画性能;仅类型可插值时才支持transition和@keyframes动画,需确保赋值合法且initial-value合理。106 收藏 -
能不改业务代码就切Mock,前提是依赖创建逻辑外移且注入点可控;必须用构造函数注入、接口/纯虚类声明依赖,Mock需严格遵循接口契约并覆盖边界场景,切换入口须统一前置至组装阶段。106 收藏 -
HTML加载慢主因非体积大,而是阻塞渲染、错误路径、base64内联、缺失压缩及file://协议限制;应通过Network面板定位瓶颈,用本地服务器替代双击打开。104 收藏 -
使用LiveServer插件是VSCode中运行HTML文件的最佳方式,安装后右键选择“OpenwithLiveServer”即可在浏览器中实时预览并自动刷新页面。103 收藏