-
PWA本身无需原生APP,仅依赖Web技术栈;误解源于绕过应用商店、调用受限API或企业内部分发等场景;蓝牙、后台音频、深度通知跳转及厂商API仍需原生介入;WebView加载PWA需注意安全配置与serviceworker启用。
-
transform-style:preserve-3d失效主因是父容器未设非nonetransform(如translateZ(0))或被overflow:hidden/filter等中断3D上下文,必须逐层确保preserve-3d+有效transform共存且无降级属性。
-
答案:实现侧边栏布局有四种常用方法。1.使用float实现,兼容性好但需清除浮动;2.使用flexbox,现代推荐方式,灵活易控;3.使用CSSGrid,适合复杂二维布局;4.固定侧边栏,适用于后台管理界面。其中flexbox因简洁高效、适配性强被广泛推荐。
-
disableRemotePlayback是HTML媒体元素的布尔属性,用于隐藏iOSSafari中视频右上角的AirPlay按钮,禁用远程播放控件;它自iOS14.5起稳定支持,仅作用于<video>和<audio>标签,不阻止系统级屏幕镜像。
-
BEM通过命名约定(block__element--modifier)实现样式隔离,不依赖构建工具,避免全局污染;CSSModules依赖哈希类名,在SSR、动态DOM、第三方组件中易失效。
-
watchEffect默认不处理竞态,需通过AbortController取消旧请求、isActive标记防抖或useDebounce前置降频来解决;避免直接在其中写async逻辑。
-
涟漪效果的核心原理是用JS获取点击坐标并动态设置CSS变量,使::after伪元素圆心精准落在点击处,再通过transform:scale()动画实现扩散。纯CSS无法读取坐标,故必须结合JS计算偏移量、监听click事件、设置--x/--y变量,并配合relative定位、border-radius:50%及cubic-bezier过渡。
-
HTML选区本质是DOM边界而非字符串,由anchorNode/focusNode及对应偏移量定义;selection.toString()会丢失结构和语义,应优先用getRangeAt(0)?.toString().trim()且需校验rangeCount>0。
-
推荐使用原生适配AppleSilicon的VSCode、WebStormforAppleSilicon、HTMLViewerPro+、Universal版HTMLEditor及SafariWebInspector进行HTML开发,以避免Rosetta2转译导致的卡顿、闪退等问题。
-
BEM通过强制单类名选择器将CSS权重恒定为0-1-0,天然规避!important滥用和嵌套爆炸;其核心是命名隔离而非权重优化,确保样式作用域清晰、协作边界明确。
-
Safari16.4(2023年3月发布)是首个支持fetchpriority="high"的稳定版本,此前所有Safari版本均忽略该属性;Chrome和Firefox早在2022年中已支持。
-
核心区别在于是否保留文档流位置:visibility:hidden隐藏但占位,display:none彻底移出渲染树、不占空间。
-
不能,绝大多数移动端浏览器已移除对::-webkit-scrollbar的支持,包括iOSSafari和AndroidChromev117+,因其在触屏场景下会干扰手指滑动体验。
-
:first-child是CSS伪类,匹配父元素下第一个子元素且标签名与选择器一致;它按位置匹配,而非类型,若首个子元素非目标标签则不生效。
-
可通过监听fullscreenchange事件并检查document.fullscreenElement来准确判断全屏状态,据此动态调整UI;全屏API须在用户手势中调用,退出时用document.exitFullscreen()并处理Promise;CSS可配合:fullscreen伪类和class切换实现响应式适配。