-
position:absolute元素“消失”是因脱离文档流导致父容器高度塌陷;需通过min-height、伪元素或padding等主动占位,而非仅设parent为relative。
-
Reflect提供标准化对象操作,Proxy结合Reflect可实现属性拦截与元编程,装饰器(实验性)通过函数修改类或方法行为,配合reflect-metadata库支持运行时读取元数据,三者共同增强JavaScript的反射与装饰能力。
-
最小可打开HTML文件需4行:<!DOCTYPEhtml><html><head><title>标题</title></head><body>内容</body></html>,后缀.html、UTF-8编码、双击即开。
-
应优先用语义正确的标签:强调语气用<em>,纯视觉倾斜用<i>;必须用CSS时用font-style:italic;斜体不可作为唯一信息载体,需配合ARIA属性或HTML属性确保无障碍。
-
localStorage只能存储字符串,存对象需JSON.stringify()、取时需JSON.parse(),读取不存在key返回null而非undefined,无自动过期机制需手动实现,适用轻量简单场景。
-
抽屉菜单用transform:translateX()最稳不用left或margin-left动画,因为它们会触发重排(layout),卡顿明显;transform只影响合成层,GPU加速,滑动顺。移动端尤其明显——哪怕只是0.1s的卡顿,用户也会觉得“菜单卡住了”。常见错误是直接写transform:translateX(-100%)却没设父容器overflow:hidden,结果菜单半截露在屏幕外,还可能被滚动条拉出来。抽屉容器必须设固定宽度(比如width:
-
不能,负margin本身不会让子元素突破父容器视觉边界;真正起作用的是父容器的overflow设置:visible时可溢出,hidden/auto时仍被裁剪。
-
HTML5是HTML标准的自然演进而非取代,它补全音视频、Canvas、本地存储等能力,兼容旧标签;因开发者需求倒逼,浏览器厂商放弃XHTML2转向WHATWG主导的HTML5;实际落地需关注具体API在各浏览器的兼容性。
-
img响应式必须设max-width:100%和height:auto;flex/grid中还需min-width:0;高清图需srcset+sizes优化加载。
-
new.target是JavaScript中用于检测函数是否通过new调用的元属性,构造调用时返回构造函数引用,否则为undefined;它在普通函数、ES6类中有效,箭头函数中不可用且不能作为构造函数。
-
meter标签用于展示已知范围内的静态测量值,如电量、磁盘使用率;2.progress标签用于表示任务的动态完成进度,如文件上传;3.区分关键在于:meter反映当前状态,progress反映任务进展;4.meter通过min、max、value定义范围,low、high、optimum定义语义区间以实现视觉反馈;5.常见场景包括电池电量、存储空间、评分显示等需语义化量度的场合。
-
@media写分辨率隐藏规则需用px单位、英文标点、正确空格;移动端优先建议max-width:767px;iPad竖屏应加orientation:portrait;必须外层写媒体查询再嵌套选择器;display:none彻底移出流,visibility:hidden保留占位;viewportmeta缺失和CSS顺序错误是常见失效原因。
-
loading="lazy"仅适用于img和iframe且需src属性,Chrome76+、Firefox75+、Edge79+及Safari15.4+(仅img)支持;首屏图、背景图、picture内source等不适用,须配合width/height防CLS,SSR中需注意JS加载时机。
-
本文详解如何在使用ng-select实现搜索下拉的场景中,通过代码动态追加新选项(如{value:'c',id:3})并确保其立即显示为已选状态,关键在于遵循OnPush变更检测机制,采用不可变更新方式操作items和options数组。
-
需先获取canvas2D上下文对象,再依次绘制矩形、路径线条、圆形弧线及文本:一、用getElementById()获取canvas元素并调用getContext('2d');二、用fillRect()、strokeRect()、clearRect()绘矩形并设fillStyle/strokeStyle;三、用beginPath()、moveTo()、lineTo()、stroke()/fill()绘路径;四、用arc()绘圆/弧线并fill()填充;五、用font/textAlign/textBasel