-
该用:disabled伪类而非disabled属性本身来精准控制禁用态视觉样式。它仅匹配原生可禁用元素(如button、input等)且带disabled属性时的状态,优先级高、响应动态变更,但对div或自定义组件无效。
-
应只为首屏必需且被HTML中<link>引用的关键CSS使用preload,如main.css;需配合onload转为stylesheet,并内联极小关键CSS以优化FCP/LCP。
-
内联样式优先级最高,会覆盖外链或内部样式,这是CSS层叠机制的正常表现;其优先级顺序为:内联样式(1000)>ID选择器(100)>类/属性/伪类(10)>元素/伪元素(1)>通配符/继承/默认(0),权重不进位,!important需谨慎使用。
-
JavaScript隐式类型转换遵循规范定义的抽象操作,如ToNumber、ToString、ToBoolean等,而非直觉;==优先转数字导致0==false、''==false、'0'==false均为true;+运算符在有字符串时触发ToString,[]toString()得'',{}toString()得"[objectObject]";Boolean([])为true因数组非falsy值,![]为false因先ToBoolean再取反;应避免隐式转换,用===、Array.isArray等显式
-
实现视差滚动需结合HTML5、CSS与JavaScript:一、纯CSS用background-attachment:fixed;二、JS监听scroll+transform位移;三、requestAnimationFrame优化性能;四、will-change与contain启用硬件加速;五、IntersectionObserver按需激活。
-
justify-content控制主轴对齐,align-items控制交叉轴对齐,二者配合可实现如水平垂直居中等布局,需注意主轴方向、容器设置display:flex及子元素尺寸影响。
-
flex等分核心是统一设flex:1且父容器有明确宽度;小屏用flex-wrap配合flex-basis调整每行个数;需加min-width:0和box-sizing:border-box防干扰。
-
应优先使用只读布尔属性element.isContentEditable判断真实可编辑状态,它综合了contentEditable继承、CSSuser-modify等因素;而element.contentEditable仅返回字符串快照(如"true"、"false"、"inherit"),getAttribute('contenteditable')仅查显式声明,可能为null却仍可编辑。
-
Worker线程通过创建独立执行环境实现JavaScript并行计算,利用多核CPU提升性能。主线程将耗时任务拆分后分发给多个Worker,各Worker并行处理并通过postMessage通信,采用结构化克隆传递数据,避免共享内存冲突。建议根据navigator.hardwareConcurrency调整Worker数量,复用Worker池、减少通信频率、批量传输数据,并对大型ArrayBuffer使用TransferableObjects实现零拷贝。小任务无需Worker,避免开销大于收益。合理设计可
-
应使用URL构造函数+URLSearchParams安全操作URL参数,避免直接赋值window.location.href导致意外跳转;需更新地址栏而不刷新时,用history.pushState()或replaceState()配合newURL()。
-
自定义光标需明确尺寸与热点坐标,如cursor:url("hand.png")44,auto;.cur文件虽自带热点但常失效,PNG更可控;注意浏览器尺寸限制(Chrome≤128px,Firefox≤64px)及表单元素覆盖问题。
-
外部CSS必须通过<linkrel="stylesheet">引入并置于<head>中,路径需正确(相对或根相对),且避免缓存干扰;否则样式不生效。