-
HTML加载慢主因非体积大,而是阻塞渲染、错误路径、base64内联、缺失压缩及file://协议限制;应通过Network面板定位瓶颈,用本地服务器替代双击打开。
-
原生对话框(alert/confirm/prompt)虽零依赖但阻塞主线程、无样式定制且兼容性差,现代项目应优先使用语义化可定制的<dialog>元素或轻量封装方案。
-
使用CSSGrid的grid-template-columns配合auto-fit和minmax可实现响应式图片墙:.image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;}auto-fit会自动填充并拉伸列以适配容器,避免空白;minmax(200px,1fr)确保每列最小200px、最大等比分配。大屏显5列、平板3列、手机1列,无需媒体查询。与auto-fill不同,auto-
-
纯前端HTML+JavaScript即可实现在线SQL格式化工具,通过<script>引入jsDelivrCDN上的sql-formatter@14.1.0UMD版本,全局获得sqlFormatter对象,调用sqlFormatter.format(sql,{language:'mysql',indent:'',keywordCase:'upper'})即可完成格式化,无需后端、不发请求、不传数据;需显式指定language防止语法解析错误,并预清理不可见Unicode字符。
-
用div创建宽高盒子需同时设置width和height,并推荐添加background-color确认显示;常见不显示原因包括父容器无高度、display被修改、CSS权重不足、overflow裁剪等。
-
Less4.2.0是当前最新稳定版,不支持原生List/Map类型及list-append()、map-keys()等语法;所谓“Less4.0新特性”属误传,其核心设计坚持静态替换,仅提供extract()和length()处理空格分隔值序列。
-
hover:-translate-y-1没反应的根本原因是父容器未设transform-style:preserve-3d或被overflow:hidden等样式覆盖,需检查position、层级及移动端hover失效问题。
-
grid-template-areas字符串必须满足三硬条件:每行引号内单词数一致、区域名仅含ASCII字母数字连字符、所有grid-area值均在字符串中显式出现,否则网格退化为单列流。
-
使用LiveServer插件是VSCode中运行HTML文件的最佳方式,安装后右键选择“OpenwithLiveServer”即可在浏览器中实时预览并自动刷新页面。
-
list-style-type仅对<ol>有效,常见值有decimal、lower-roman、upper-alpha和none;自定义序号需用counter-reset、counter-increment和::before;缩进应调padding-left而非text-indent;移动端序号截断需检查overflow和父容器min-width。
-
根路径href、语义化nav结构、aria-current标记当前页、external链接配rel="noopener"、动态路径由模板函数生成,确保全站链接一致可维护。
-
<address>标签专用于声明页面或文章的责任人联系信息,如作者、维护者邮箱或官网链接;仅允许嵌套<a>、<em>、<br>等短语内容,作用域限于最近<article>或<body>顶层,不可用于普通地址或跨作用域混用。
-
计算属性因依赖字段未初始化而崩溃,本质是生命周期与依赖声明顺序不匹配;需确保data/setup中提供安全初始值,防御性处理异步数据,并避免在初始化阶段手动触发求值。
-
AbortSignal.timeout仅在Chromium120+、Firefox125+、Safari17.4+原生支持,旧版抛TypeError;需运行时检测,降级须用Promise.race且注明网络层未中断;timeout单位为毫秒但建议配置用秒并校验,Node.js行为与浏览器不等价;熔断需区分错误类型,timeout时error.code为'ABORT_ERR';并发请求必须独立signal,避免误中断。
-
Vue中emit是子组件向父组件通信的唯一合规方式,需用defineEmits声明事件名后调用emit发送;父组件通过@事件名监听,支持Promise异步响应与TypeScript类型约束。