-
iOSSafari中overscroll-behavior:contain失效主因是容器未真正进入可滚动状态,需同时满足:有明确宽高、无transform/will-change干扰、滚动上下文未被阻断。
-
ContentIndexingAPI仅注册已缓存URL供系统界面展示,不负责缓存或验证;离线可用性取决于ServiceWorker是否已精确缓存对应路径并在fetch中正确响应导航请求。
-
不等价。scale()是语义化变换,自动触发GPU合成层;matrix()是纯数值映射,部分浏览器(如Safari15–16)不主动升层,易导致卡顿或闪烁。
-
不加async或defer的script会同步下载执行,阻塞HTML解析和渲染;async异步下载并立即执行,不保证顺序;defer异步下载并在DOM解析完成后按序执行。
-
最稳解法是::after伪元素+transform:scaleY(0.5),因CSS的1px在dpr=2设备上映射为2物理像素而显粗,缩放可精准落于1物理像素,但须配position:relative、transform-origin:0100%、pointer-events:none等防偏位。
-
使用CSS的:required伪类可为表单必填字段添加视觉提示。1.通过HTML的required属性标记必填项,CSS的:required伪类选中这些元素。2.用:required设置边框、背景色等样式提升可读性。3.结合::after与:has()在label旁添加红色星号标识,或直接在HTML中写入兼容性更好。4.利用:invalid和:valid区分未填与已正确填写的字段,分别显示红绿边框。通过简单CSS即可实现清晰的表单反馈,关键是保持样式一致,明确提示用户必填项及其状态。
-
能,但仅移除项目符号或编号,不消除li的默认外边距和缩进;需配合重置padding和margin才真正“去掉样式”,并注意list-style-position对布局的影响。
-
必须调用super(),因为ES6要求子类构造函数访问this前须先执行父类构造函数以初始化实例内部结构和原型链,否则会抛出ReferenceError。
-
正确做法是将REM基准值定义为无单位SCSS变量(如$font-scale:16),在:root中转为px,并用rem-calc()函数统一计算rem值,避免硬编码和JS动态设置冲突。
-
HTML无法直接发送短信,只能通过sms:协议链接唤起系统默认短信App并预填内容;需注意国际号码格式、中文URL编码、多收件人兼容性差及移动端限制。
-
在HTML中插入倒计时器可以使用JavaScript实现。具体步骤包括:1.设置目标时间;2.使用setInterval或requestAnimationFrame更新倒计时;3.通过DOM操作更新显示内容;4.处理倒计时结束的情况。
-
使用float布局图片时,需统一图片尺寸、设置固定宽高和一致margin,并通过box-sizing和清除浮动确保排列整齐。
-
modulepreload是<linkrel="modulepreload">用于预获取模块而不执行,区别于<scripttype="module">的立即解析执行;它需绝对路径、as="script",且服务端需配CORS,适用于明确依赖链或动态导入前的预加载。
-
time标签的datetime属性必须严格符合ISO8601格式,如“2024-05-20T14:30:00+08:00”;省略时间可仅用日期“2024-05-20”,但“2024/05/20”等非法格式将导致语义丢失。
-
暗黑模式需三者协同:prefers-color-scheme媒体查询兜底、data-theme属性统一控制、localStorage持久化用户选择;缺一则导致刷新回亮色、表单失色或Safari闪屏。