前端技术文章
-
跨窗口通信唯一安全方式是window.postMessage(),需指定目标窗口并校验event.origin,禁止用*通配targetOrigin,不支持传函数或DOM节点,须实测边界场景。345 收藏 -
Sass不支持运行时动态换主题,本质是编译期预生成多主题CSS,靠data-theme属性匹配;@function全在编译时求值,无法运行时调用;themeifymixin需用!global和[data-theme]&嵌套确保作用域与变量可达;主题map必须扁平、键名统一;JS切换仅改data-theme并持久化。266 收藏 -
Sass嵌套不提升优先级,但易生成高权重选择器;关键在意识嵌套生成的CSS结构。&代表上层完整选择器字符串,空格决定后代或拼接,@at-root(with:media)防权重抬升,%占位符替代深层继承降权。397 收藏 -
不该。第三方CSS不应手动放入src/css目录,而应通过构建工具直接解析node_modules路径引入,或用link引入CDN资源;vendor目录仅存导入胶水文件,不存实际CSS内容。470 收藏 -
可采用五种方法将文本等格式转为标准HTML:一、在线Markdown工具;二、Pandoc命令行;三、Python脚本调用markdown与BeautifulSoup;四、浏览器开发者工具手动构造;五、VSCode插件实时渲染导出。356 收藏 -
合理优化LocalStorage可提升性能与稳定性:合并写入、防抖保存、聚合数据结构、增加异常处理与容量管理,并注意跨标签页同步问题。116 收藏 -
Flexbox适合一维布局对齐,如导航栏、卡片列表;Grid才适合页面整体二维结构布局,二者应分工明确:Grid划“房间”,Flexbox整“桌椅”。402 收藏 -
必须用WeakMap而非普通Map或对象,因其对键仅持弱引用,不阻止垃圾回收;而Map/对象持强引用,会导致DOM节点或实例无法释放,引发内存泄漏。310 收藏 -
在 HTML 中,可以通过 aria-level 属性来标注标题或树节点在层级结构中的深度级别。这个属性通常用于辅助技术(如屏幕阅读器),以帮助用户理解内容的结构。1. 对标题使用 aria-level如果你在页面中使用了非语义化的标签(如或 )来模拟标题,可以添加 aria-level 来表明其层级:主标题
主标题aria-level仅适用于role="treeitem",必须同时满足父容器为role="tree"、当前元素为role="treeitem"且DOM真实嵌套;HTML标题层级应使用原生<h1>–<h6>,不可混用。342 收藏
因为Bootstrap5+的.btn-close默认SVGbackground-image带filter:invert(1)opacity(.5),覆盖时若不重置filter:none,新图标会变色发灰或空白;还需同步设置background-size、position及容器尺寸。278 收藏
Less不支持对象式变量,因变量系统仅接受单一值且为文本替换;需用命名空间模拟键值对,并配合条件混入与方括号语法访问。319 收藏
<p>HTML注释必须以“-->”结尾且中间禁用“--”,否则导致解析截断;禁止嵌套;推荐模块化标记如“<!--headerstart-->”;上线前须清理TODO、DEBUG及冗余HTML注释。</p>265 收藏
required属性本身不支持自定义错误提示文案,其提示由浏览器根据系统语言自动生成,无法通过HTML或CSS修改;如需自定义,须用JavaScript调用setCustomValidity()并配合input事件实时清空状态。100 收藏
Less无if语句,用守卫混合模拟编译期条件匹配;无for循环,靠递归混合实现;不支持JS函数,内置函数有限且行为与JS不同;所有逻辑均在编译期展开为静态CSS。481 收藏
客服悬浮窗需调用第三方SDK而非模拟,常见不显示原因是浏览器阻止第三方Cookie导致iframe加载失败,须启用免Cookie模式并确保script置于</body>前且加async。309 收藏