-
::selection仅支持color、background-color等5个属性,因浏览器为保障可访问性强制限制;Safari需15.4+且禁用prefers-reduced-motion/forced-colors才生效;iOS/Android移动端基本不可靠,推荐JS模拟或交互反馈替代。
-
WebPushpayload必须使用AES-128-GCM加密,由客户端提供的auth和p256dh派生密钥,浏览器强制要求content-encoding、encryption、crypto-key三头部齐全且格式正确,否则推送失败。
-
结论:别用calc()+float封装三栏布局Mixin——兼容性假象大,维护成本真高,现代项目里纯属倒退。因calc()在旧版Safari等浏览器中存在解析异常,float布局本身已过时,且现代项目应优先采用Flexbox或Grid。
-
HTML中不存在_html语法,它既不是标签、属性,也不是合法自定义元素名;常见于JS私有属性、模板变量或开发者自定义键名,与HTML语法无关。
-
容器与子元素背景重叠导致视觉混乱是因CSS默认简单覆盖,需用background-blend-mode控制混合;它作用于单元素多背景间,可通过伪元素间接调控父子背景混合,常用值如overlay、multiply等。
-
closed模式无法真正隐匿逻辑,因其仍可通过getComputedStyle、slotchange事件、MutationObserver等间接推断内部结构,且易被原型劫持;open模式才是可调试、可测试、符合工程实践的合理选择。
-
创建HTML文本框使用<inputtype="text">,通过name、value、placeholder、maxlength等属性设置名称、默认值、提示文字和输入限制,并可结合form表单提交数据。
-
逻辑赋值运算符&&=、||=、??=可简化条件赋值:1.&&=在左侧为真值时赋值,适用于有值才更新;2.||=在左侧为假值时赋值,常用于设置默认值;3.??=仅当左侧为null或undefined时赋值,避免覆盖0或空字符串等合法值,提升代码安全性与可读性。
-
粘性定位卡顿主因是放大页面既有性能问题:父容器设overflow:hidden/flex/grid、sticky元素内含动态高度或width:100vw等,导致滚动时频繁回流;应避免这些属性,用contain:layout隔离,并精简样式与DOM结构。
-
JavaScript的try...catch用于捕获同步运行时错误,防止脚本崩溃;支持catch捕获Error对象并推荐用message属性,finally确保清理代码执行;但无法捕获异步错误,需在回调或Promise中单独处理。
-
正确做法是用[aria-hidden="true"]配合绝对定位等样式隐藏元素,同时保持语义;[aria-expanded]需按值写属性选择器;[aria-disabled="true"]要与:disabled并用;避免用[role]选择器做样式主干。
-
backdrop-filter在Bootstrap导航栏中默认不生效,因navbar有不透明背景导致背后无可模糊内容;需设半透背景(如rgba)、确保父容器有实际背景、避免overflow:hidden,并为Firefox等加降级方案。
-
width:fill-available已被废弃,别再用了这个CSS值在Chrome57+、Firefox62+中已被移除或从未真正标准化,现在写width:fill-available或width:-webkit-fill-available属于“碰运气”行为——多数情况下不生效,或只在特定上下文(如input框内部)偶然起作用。它不是解决“填充剩余空间”的正统方案,而是历史遗留的实验性语法。用flexbox的flex:1实现可靠填充这是当前最通用、兼容性最好(
-
用户消息靠右、对方消息靠左仅需两条CSS:.mine.bubble设margin-left:auto,.theirs.bubble保持左对齐或设margin-right:auto;均禁用width:100%,并配max-width:80%防撑爆。
-
<embed>标签没有object属性,该属性不存在于HTML标准中,浏览器会直接忽略;正确传参应使用<object>标签配合data属性和<param>子元素。