-
Class是构造函数的语法糖,本质仍是函数对象,未改变原型继承模型,仅收拢prototype操作;差异在于语法约束(如不提升、严格模式、必须new调用)和协作友好性。
-
直接写font-size:1.6rem不够用,因为rem依赖根元素font-size,硬编码导致维护难、换算易错、响应式成本高;需用@base-font-size变量统一基准,并通过.rem()混入安全转换,同时必须同步设置html字号。
-
应封装语义化、参数精简的@mixincard-base($radius:8px,$shadow:$shadow-md,$has-hover:true),通过变量管理阴影、分离职责、限定适用场景,并注意高DPI兼容性。
-
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权重或继承干扰导致标题未被正确识别或错位。