-
ESLint是成熟灵活的JavaScript代码检查工具,能自动化统一代码风格、降低阅读成本、减少错误并捕获潜在bug;通过三步快速接入:安装、初始化配置、集成编辑器,并需合理设置env、parserOptions、extends和rules。
-
minmax()缩放不生效的根本原因是其最小值仅在网格容器有足够空间时才起作用;空间不足时浏览器会优先满足其他约束甚至忽略下限。
-
Streamlit中HTML需用st.markdown(...,unsafe_allow_html=True)启用,st.write等不支持;复杂交互用st.components.v1.html(iframe隔离),但JS无法调用Python函数,须用st.button+st.session_state桥接。
-
需用JavaScript配合后端API(如JSONPlaceholder)实现真实同步,localStorage仅支持单标签页调试;读写必须通过fetch请求统一数据源,更新DOM前须先成功提交状态,避免竞态与假同步。
-
要将HTML表单容器化,实际上是指容器化其依赖的Web服务器或后端应用。对于纯静态表单,最直接的做法是使用Nginx容器托管文件:准备HTML等静态资源,编写Dockerfile将文件复制到Nginx镜像中并暴露80端口,通过dockerbuild和dockerrun命令即可在http://localhost:8080访问表单。当表单需要后端处理时,需容器化整个后端应用,例如使用Node.js镜像构建Express服务,Dockerfile中需指定运行时环境、安装依赖、复制代码并定义启动命令;若涉及数据库
-
嵌套应限于父子/状态依赖场景,深度超3层需拆分;map取值key须加引号并校验存在;@mixin生成样式块,@function返回计算值;@extend易致冗余选择器,现代项目宜用工具类替代。
-
HSL和HSLA通过色相、饱和度、亮度及透明度直观定义颜色,支持动态主题调整,比RGB更易操作,推荐优先使用。
-
for-of循环通过迭代协议遍历可迭代对象:先调用[Symbol.iterator]获取迭代器,再循环调用next()方法解构{value,done},依done控制终止,不依赖索引或长度,专用于值序列而非属性键。
-
Vue.js数组响应式失效主因是直接索引赋值或改length;需用7个变异方法(push/pop/shift/unshift/splice/sort/reverse)或$set/splice替代;Vue3虽用Proxy增强支持,仍建议优先使用变异方法。
-
纯CSS可实现播放/暂停图标平滑切换:用两个重叠图标元素,通过opacity控制显隐并配合transform微调,避免content切换或SVG路径d属性动画等不支持方案。
-
外边距塌陷是CSS规范定义的垂直相邻块级元素margin合并行为,发生在父子或兄弟块间;行内、浮动、绝对定位元素不参与;可用BFC(如display:flow-root)或border/padding/flex等轻量方式解决。
-
必须添加<metaname="viewport">标签,否则响应式布局在手机上无法正常使用;需设width=device-width和initial-scale=1.0,禁用user-scalable=no;图片视频须加max-width:100%和height:auto;断点优先用em/rem;真机测试不可替代DevTools。
-
sticky定位需父容器提供滚动上下文,仅加sticky+top-0+z-10无效;必须父容器设h-screen+overflow-y-auto,sticky元素不能是body直系子元素,且避免transform等触发新层叠上下文。
-
Firefox50之前referrerpolicy="same-origin"无效,因解析器不识别该属性,退回到no-referrer-when-downgrade;50版起才支持。
-
必须用<button>。它是触发动作而非纯导航,能确保无障碍访问、键盘操作一致性和表单正确包含;错误使用<a>或role="link"会导致语义混乱和交互异常。