-
lang属性必须写在<html>标签上且只能出现一次,如<htmllang="zh-CN">;zh-CN最通用,zh-Hans强调简体字适用多地区,禁用单独的zh;多语言页面通过子元素lang属性局部覆盖。
-
clip-path:url(#id)在iOSSafari15.4及更早版本完全不支持,WebKit未实现该语法,即使SVG内联、ID合法、路径完整也会静默忽略;须升级至iOS16.6+/macOSVentura13.5+才支持,且ID仅允许字母、数字、下划线、短横线,clipPathUnits="objectBoundingBox"必须显式声明以确保响应式裁剪。
-
type属性仅负责语义与基础行为,JS和后端校验缺一不可;number类型易致值变空或NaN,长数字吞零、step异常;推荐text+inputmode组合;date/time需严格ISO格式;file控件前端限制无效,服务端必须重校验。
-
HTML不压缩图片,只引用文件;Canvas压缩须先缩放尺寸再设0.7~0.8质量,srcset必须配sizes,WebP需用<picture>加fallback,原始图编码状态影响压缩效果。
-
flex-shrink:0加了仍变形,是因为未配合flex-basis或width:auto,导致浏览器fallback到不可控的固有尺寸;需同时设width:auto、height:auto和min-width:0,并确保外框稳定后再用object-fit控制内容填充。
-
details默认展开需直接写<detailsopen>,open是布尔属性,只看存在与否;open="false"仍会强制展开;JS设el.open=true不触发UI变化,须用toggleAttribute或dispatch事件。
-
面包屑导航需手动编写或借助构建工具/后端模板生成,HTML本身不支持自动解析路径;纯静态页无路由上下文,无法通过URL准确推导语义化层级,必须依赖预置映射或静态生成器变量。
-
直接写死contenteditable="true"易导致光标错位、粘贴污染、回车异常、移动端失焦、SEO泄露及首次focus失败;应动态设置contentEditable和tabIndex,并用input事件监听+Range/Selection精准控光标。
-
根本解法是让CSS文件URL随内容变化:Webpack需配置contenthash并用mini-css-extract-plugin;Vite需在rollupOptions中设assetFileNames含[hash];HTML中禁用手写link,改用JSimport;CDN/Nginx需配immutable缓存策略。
-
HTML5需用canvas手动加水印:先drawImage绘制原图,再fillText叠加文字或createPattern贴图;注意图片加载、跨域、dpr适配及toDataURL导出细节。
-
Canvas在Retina屏发虚是因为未适配devicePixelRatio,需同步设置width/height属性为物理像素值并缩放绘图坐标,否则仅CSS缩放会导致插值模糊。
-
需用两个原生date输入框实现范围选择,通过动态设置min属性及change事件监听确保结束日期不早于开始日期,起始框min设为空或当前日期,结束框min动态同步起始值,并在结束框变更时校验是否小于起始值。
-
本文详解如何利用jQuery的serialize()方法,将具有相同name属性(含[]数组语法)的多个表单字段自动打包为标准URL编码格式,并在PHP端正确解析为索引数组,实现前端多行数据与后端结构化处理的无缝对接。
-
ruby和rt必须配合rb才能正确渲染拼音,漏掉rb或结构错误会导致浏览器忽略注音或平铺显示;现代浏览器要求每个汉字用单独rb包裹,rt紧跟对应rb,多字需逐字拆分,禁用破坏流式布局的CSS。
-
StyledComponents控制状态的核心是将样式逻辑内聚于组件,通过props传递状态(如布尔值、枚举、主题),在模板字符串中用箭头函数映射样式;结合useState/useReducer实现交互响应;避免副作用,拆分状态容器与样式组件,推荐用attrs()预设属性、工具函数或自定义Hook封装复杂逻辑。