-
应采用CSS与JS组合策略:动态修改viewport的maximum-scale、确保输入框font-size≥16px或设置-webkit-text-size-adjust:100%,并绑定focusin/focusout事件精准控制缩放。
-
required仅校验非空,不校验格式;pattern自动锚定且不支持标志符;min/max/step在number与date中行为不同;setCustomValidity需手动清空;原生校验仅响应表单提交事件。
-
必须在beforeUnmount中清理定时器,因为定时器是独立运行的异步副作用,组件卸载后其回调仍可能触发,导致访问已销毁组件的响应式数据而报错;应使用ref存储timerID并在beforeUnmount中清除。
-
align-items用于设置flex容器子元素在交叉轴上的对齐方式,其常用值包括flex-start(顶部对齐)、flex-end(底部对齐)、center(居中对齐)、stretch(拉伸填满,默认值)和baseline(基线对齐),该属性需应用于display为flex或inline-flex的容器,影响所有直接子元素,常用于实现垂直居中等布局效果。
-
本地服务器启动卡顿主因是localhost解析延迟、文件监听扫描或模块加载过重,而非硬件性能;应检查hosts配置、显式绑定127.0.0.1、禁用监听与缓存、避开node_modules目录运行,并排查杀毒软件干扰。
-
<wbr>是浏览器在容器宽度不足且其他换行策略失效时才考虑的断点提示,非强制换行;需配合overflow-wrap:break-word与明确宽度约束生效,适用于长URL、驼峰变量名等有逻辑分隔点的无空格字符串。
-
line-clamp不生效的主因是缺失关键声明:必须同时设置display:-webkit-box、-webkit-box-orient:vertical和-webkit-line-clamp:N,且父容器需overflow:hidden;它仅限WebKit内核,不兼容Flex/Grid布局,也不响应动态内容更新。
-
flex-wrap属性用于控制flex容器内子元素的换行行为,其常用值为nowrap(不换行)、wrap(向下换行)和wrap-reverse(向上换行)。通过结合flex-direction、gap、align-content等属性,可实现如多行卡片布局、聊天消息流等响应式设计场景,有效解决子元素溢出问题并提升布局灵活性。
-
浏览器缩放导致布局异常时,可通过六种策略适配:一、禁用用户缩放(Meta控制);二、使用em/rem/vw/vh等相对单位;三、CSStransforms反向缩放补偿;四、@media查询检测DPR;五、JavaScript动态重绘校准;六、text-size-adjust禁用字体自动放大。
-
应使用100dvh替代100vh,兼容老版本则结合focus/blur监听与min-height:100vh+height:100dvh层叠;fixed输入框避免scrollIntoView,改用scroll-margin-bottom或手动scrollTo;键盘收起用visualViewport.resize替代resize事件;flex布局需设height:100dvh及子项min-height:0。
-
BroadcastChannel可实现同源多标签页实时通信,需统一频道名、同源、合理收发与清理;支持结构化消息与事件监听,注意关闭频道防泄漏,并为隐私模式提供降级方案。
-
:valid伪类仅对具备原生校验机制的表单元素生效,需含required、语义化type(如email/number)或pattern;空值在非required字段中默认valid,但type="email"为空时为invalid;状态由浏览器实时计算,不响应JS直接改value;兼容现代浏览器但不支持IE;不可替代业务或后端校验。
-
HTML5网页发布关键在于路径正确、服务可用、域名可达;GitHubPages需严格遵守仓库名和分支规则,Vercel/Netlify需配置路由回退,FTP部署须注意路径、大小写与权限,调试优先查Network面板。
-
使用type="password"可创建密码输入框,通过小眼睛图标用JS切换显示隐藏,结合HTTPS、长度限制和确认框提升安全与体验。
-
Leaflet地图嵌入HTML需三步:①为map容器设宽高;②按序引入leaflet.css、leaflet.js并确保DOM就绪后初始化;③检查瓦片URL、referer限制及坐标系匹配。