-
HTML是网页开发必学的第一门标记语言,需按五步系统学习:一、理解其结构化标记本质并识别常见标签;二、用纯文本编辑器编写最简HTML文件并本地预览;三、掌握标题、段落、列表等核心标签的语义与嵌套规则;四、正确使用超链接与图像标签,注意路径与属性规范;五、通过手动检查和W3C验证工具调试语法错误。
-
最安全的方式是用theme.extend.colors增量扩展颜色;若需彻底替换默认色(如整套blue),必须使用theme.colors全量定义并包含50–900色阶;新颜色需在模板中实际使用才能被JIT编译生成,且需手动扩展placeholderColor、stroke、fill等以支持对应工具类;深色模式下的变体需显式声明,无自动推导。
-
Object.fromEntries不支持嵌套解析,需手动实现nestedAssign:先按数组语法(key.endsWith('[]'))或点号路径(key.split('.'))分类处理entries,逐层创建对象或推入数组,注意类型兼容与空值语义。
-
HTML截图不是页面导出,它仅捕获当前视口渲染快照,不保留结构、语义、交互及未加载资源;html2canvas因非真实渲染引擎常失真;puppeteer截图更准但仍为静态图像;真正HTML导出需序列化DOM或服务端生成。
-
Block通过编译期静态分析识别动态节点并打patchFlag,运行时借助openBlock/createBlock协同维护blockStack与currentBlock,将所有动态子代(含后代)扁平化收集至dynamicChildren数组,更新时仅遍历该数组实现精准patch,跳过全部静态节点。
-
:empty仅匹配DOM中无任何子节点(含文本节点)的元素,换行、空格、注释均使其失效;它探测结构为空而非视觉为空,适用兜底样式或隐藏真正空容器,但不支持替换元素、contenteditable元素及:blank伪类。
-
HTML不是编程语言,它没有逻辑、不处理数据、也不控制流程,仅定义网页结构和内容语义;必须以<!DOCTYPEhtml>和<html>开头确保浏览器正确解析,标签使用需遵循语义规则。
-
@layer优先级由源码中声明顺序决定,第三方样式未包装则落入隐式顶层并高于所有显式层;必须用@importurl()layer()显式导入框架到指定层,且@layer声明须在顶层、不可嵌套。
-
content-visibility:auto适用于跳过离屏渲染但保留占位与无障碍,IntersectionObserver专用于触发非渲染副作用;二者分工明确,混用需避免破坏缓存与高度失真。
-
SCSS的nth()和append()函数需严格遵循编译期语义:nth()索引从1开始且不支持负数,越界即报错;append()默认空格分隔,逗号需显式声明comma,多值拼接优先用join()并预检长度。
-
[class~="item"]能匹配class="itemlist"但不匹配class="item-list",因它按ASCII空格分词后全词严格匹配,连字符非分隔符;仅class、rel、lang等规范定义的多值属性支持~=,data-等需用=/^=/|=替代。
-
caption-side:bottom有时无效,主因是caption未作为table的第一个子元素、旧版IE及PDF生成器兼容性差、CSS权重或继承干扰导致标题未被正确识别或错位。
-
优化Canvas动画性能需减少重绘区域,使用ctx.clearRect(x,y,width,height)仅清除变化部分,避免全屏清空,降低绘制开销。
-
Object.getPrototypeOf可绕过被篡改的constructor,沿原型链查找首个非Object.prototype的原型并读取其constructor,从而识别混淆后的原始构造函数;结合toStringTag、function.name和原型链指纹可批量检测伪造继承与类型伪装。
-
Map.prototype.set()返回undefined,故原生不支持链式调用;需继承Map并重写set等方法使其返回this,再扩展状态机语义如transition、exec,结合WeakMap可实现实例级隔离的状态映射。