-
一键夜间模式核心是用CSS变量定义两套主题色,通过JS切换data-theme属性值并读取localStorage持久化,优先用户选择、其次系统偏好,配合合理transition避免闪烁,确保所有元素都使用var()取值。
-
div嵌套无语法错误,但超3层暴露结构或CSS问题;p、h1~h6、dt等标签内不可放div,否则浏览器自动修复导致DOM错乱;应优先用语义标签替代冗余div嵌套。
-
语义化标签是网页可访问性与SEO的基础:<article>用于可独立分发的内容,<section>用于主题分组;<main>必须唯一;<nav>仅限主要导航;<aside>表示关联非必需内容。
-
hreflang是link标签的属性,非a标签属性;a标签中使用hreflang会被浏览器完全忽略,因其语义仅用于用户导航,不参与语言关系声明,而hreflang专用于head中link标签向搜索引擎声明多语言页面间的对应关系。
-
border-radius生效需配合background-color或border;img加圆角须自身设置并设display:block;box-shadow不随圆角变形,需overflow:hidden或filter:drop-shadow();移动端小圆角发虚宜用偶数像素或50%。
-
具名插槽匹配失败导致内容“消失”但无报错,主因是name属性字符串级精确匹配失败,如大小写、空格、连字符不一致;同名插槽仅渲染第一个;原生WebComponents不支持动态slot值;fallback仅在无任何匹配节点时生效。
-
FirebaseFirestore要求每个复合查询(含多个where条件,尤其含范围操作符如<,<=,>=)必须有对应复合索引;无法真正“泛化”跳过索引,但可通过CLI预定义、合理设计字段结构及限制范围过滤器数量来系统化管理。FirebaseFirestore要求每个复合查询(含多个`where`条件,尤其含范围操作符如`
-
直接在:root改CSS变量值不生效,主因是变量被更高优先级选择器覆盖或作用域错位;需用开发者工具查“Computed”中变量来源,并确保所有样式均使用var()引用而非硬编码值。
-
:focus-visible是解决鼠标点击突兀黑框最干净的方式,但需配合显式outline设置、正确书写顺序(:focus在前重置,:focus-visible在后覆盖)及JS降级方案,否则Safari等旧浏览器将无焦点提示。
-
调用天气API的核心是通过HTTP请求获取数据并解析JSON,常用fetch方法结合APIKey向OpenWeatherMap等服务商请求,选择API时需考虑免费额度、数据精度、文档质量、CORS支持等因素,推荐OpenWeatherMap或和风天气;常见问题包括CORS跨域、APIKey泄露、请求频率限制及数据解析错误,解决方案为使用后端代理、设置白名单、本地缓存和错误处理机制;在前端展示时应结构化数据、组件化UI、添加加载与错误状态、结合图标与背景提升视觉体验,并通过自动定位、城市切换和响应式设计优化
-
用一个无框架商品列表示例,讲清 CSS View Transitions API 的最小接入、元素命名、同文档切换、降级处理和浏览器兼容边界。
-
fixed定位适合做真正“不随滚动移动”的全局UI元素,其基准是视口,脱离文档流且不受父容器transform等影响,但需注意iOS软键盘错位、AndroidWebView异常及overflow裁剪失效等问题。
-
超时Promise必须用reject触发,确保race状态为rejected以便catch明确捕获;每次请求需新建独立timeout实例;应自定义TimeoutError类并用instanceof判断;配合AbortController中断fetch请求,abort后统一转为TimeoutError。
-
用DevTools选中元素需点击「选择元素」图标(或Ctrl/Cmd+Shift+C)后单击目标,不可拖拽;修改HTML仅影响内存DOM,刷新即还原,非源文件变更。
-
CSS选择器能作用于动态元素,是因为浏览器在DOM更新后自动重新匹配样式。当JavaScript添加新元素时,只要其结构符合CSS规则,渲染引擎便在样式重算阶段为其应用对应样式,结合继承机制与实时渲染流程,确保视觉一致性。