-
<main>标签是页面唯一主要内容入口,每页仅能有一个且不可嵌套于其他分区元素内,用于保障可访问性与SEO;其内容须为当前视图独有、不可复用,禁止包含全局导航、页脚等复用组件。
-
原生details元素可直接实现语义化、无障碍折叠功能,无需手写JS:用<details><summary>标题</summary>内容</details>即可,支持键盘操作、自动aria状态,兼容主流浏览器(Chrome12+等),IE除外。
-
localStorage应只存token及过期时间戳,绝不存明文密码;需配合服务端验证实现安全自动登录,并在登出或token吊销时同步清除。
-
contain:layoutpaint是首选组合,因它同时封锁布局计算和绘制边界,使浏览器将容器内变化视为独立上下文,避免影响外部;但需容器尺寸稳定、子元素不越界且浏览器支持。
-
ins标签用于标记HTML文档中新增的文本,常与del标签配合展示修改痕迹;2.它通过默认下划线样式突出插入内容,适用于协作编辑、版本控制等需展示修改历史的场景;3.可使用cite和datetime属性提供插入文本的上下文信息;4.与mark标签的区别在于语义不同:ins表示文档修改中的新增内容,mark用于标记当前上下文中的重点内容;5.可通过CSS自定义ins标签的样式,如去除下划线、设置背景色和文本颜色,以符合设计需求。
-
用position:fixed实现右下角悬浮按钮的核心写法是直接设置position:fixed、right:20px、bottom:20px、z-index:1000,并避免父元素有transform/filter/perspective;常见失效原因是父级创建了新的containingblock;移动端需用env(safe-area-inset-bottom)适配。
-
微任务队列在宏任务结束后立即清空所有任务,包括过程中新加入的;常见来源有Promise回调、MutationObserver、queueMicrotask等,执行优先级高于宏任务但不触发渲染。
-
BEM变量名必须完整映射DOM结构层级:block→element→modifier三层语义,加命名空间前缀(如--ui-),声明在:root或[data-theme]下,禁用PurgeCSS误删,确保结构标识与值容器双重角色可控。
-
最稳妥结构是用语义化标签:<section>包裹整个面板,每条待办用<article>,标题与状态放<header>,操作区放<footer>,内容放<p>等语义元素。
-
九宫格布局用display:grid配合grid-template-columns:repeat(3,1fr)和grid-template-rows:repeat(3,1fr)即可实现,需注意显式定义行列、合理设置gap与object-fit,响应式可用repeat(auto-fit,minmax(300px,1fr)))。
-
justify-content:space-evenly不生效的首要原因是父容器未设置display:flex;它将总空白均分给n+1个间隙,实现首尾与中间间隙完全等宽。
-
子元素尺寸不一致源于未显式控制flex-grow/shrink,默认行为导致浏览器自动分配;应设flex:1或指定grow/shrink值,并用min-width:0防内容撑开,关键控件设flex-shrink:0防压缩。
-
CSS变量可动态控制background-position,需在:root或选择器内声明带单位的变量,用var()调用并配合calc()计算,多背景图时须一一对应变量,注意兼容性与生命周期管理。
-
只倾斜容器不扭曲文字需用伪元素或反向skew抵消:对父容器skew(),子容器用skew(-xdeg);注意热区仍为原矩形,可用clip-path修正。
-
<p>Generator配合yield实现的是递归式生成器、非递归式执行的扁平化迭代,利用暂停/恢复机制避免调用栈溢出,空间复杂度降为O(d);yield是委托语法,实现链式遍历,无需手动维护栈。</p>