-
Async/Await是Promise的语法糖,async函数必返回Promise,await仅在async内部有效,会将后续逻辑注册为微任务,需用try/catch显式处理错误,避免与.then()混用。348 收藏 -
根本原因是cover依赖设备像素比和视口尺寸精度,Windows缩放125%时CSS像素≠物理像素,导致按CSS宽高比裁切出现拉伸或裁切异常。348 收藏 -
hsla()的alpha值必须是0–1小数而非百分比,如hsla(200,50%,60%,0.4)有效,hsla(200,50%,60%,40%)无效;alpha=0时元素仍占布局空间且可响应事件。348 收藏 -
系统字体需按平台分组声明并严格排序:macOS用"-apple-system","BlinkMacSystemFont",Windows用"SegoeUI","Roboto",Linux用"Ubuntu","Cantarell"等,末尾必加"sans-serif";含空格字体名须加双引号,大小写敏感,避免无效声明导致整链失效。348 收藏 -
块级元素设置固定宽度并使用margin:auto可实现水平居中,适用于div等块级元素,需注意元素不能为inline或浮动、绝对定位,否则需改用text-align或Flexbox等方法。348 收藏 -
最基础可靠的获取HTML页面方式是直接用浏览器打开HTML文件或通过本地服务器访问。file://协议适合静态页但禁用fetch等特性;Python内置服务器可模拟真实环境;curl/fetch适用于远程获取但受同源和JS渲染限制;关键在确保路径正确与脚本执行。348 收藏 -
::after能清浮动而::before不行,因::after位于容器末尾可设clear:both下移撑开父容器,::before在开头无约束力;必须设content:""且display为block/table等块级值。348 收藏 -
:visited伪类仅允许修改color、background-color等有限CSS属性,禁止font-size、display等样式及复杂选择器组合,本质是浏览器为保护隐私实施的限制。348 收藏 -
作用域插槽允许子组件向父组件传递数据,通过slot属性传入响应式对象,父组件用v-slot解构接收;支持默认插槽、命名插槽及配合v-for动态渲染,但仅适用于单向数据流,双向通信应使用v-model或props+emit。348 收藏 -
Vue组件通信需按场景选型:父子用props/$emit,跨层级用provide/inject,全局状态用Pinia,事件总线仅限低频解耦,$attrs/v-model用于封装透传,避免滥用ref或$parent破坏封装。348 收藏 -
必须用<button>。它是触发动作而非纯导航,能确保无障碍访问、键盘操作一致性和表单正确包含;错误使用<a>或role="link"会导致语义混乱和交互异常。348 收藏 -
应优先使用undefined而非null,因其语义更清晰、TS支持更好、运行时更一致;null仅在与API约定、DOM原生返回或需区分“未设置/已清空”时使用。348 收藏 -
extends是ES6中基于原型链的类继承关键字,使子类继承父类实例方法、静态方法、getter/setter,并通过super()调用父构造器或父级方法,语法更清晰但本质仍是原型继承。348 收藏 -
优化图片需用现代格式(如WebP)+合理尺寸+有损压缩;HTML压缩只删注释、合并空白、移除可选闭合标签;构建时图片须经imagemin插件压缩,CSS背景图也要走loader处理。348 收藏 -
nomodule属性不能直接“降级”旧脚本,因其设计意图是排除而非回退:仅在不支持type="module"的浏览器中执行,现代浏览器完全跳过,且不触发任何兼容逻辑。348 收藏