-
能,但仅限于内联事件处理器中直接returnfalse时生效;现代推荐用event.preventDefault(),语义清晰且兼容异步流程。
-
scope属性专用于<th>,是屏幕阅读器识别表格语义的唯一依据;scope="col"用于<thead>列标题,scope="row"用于<tbody>行首标题,合并单元格须显式声明,写在<td>上无效。
-
不能,subgrid不能直接替代传统嵌套Grid;它仅作用于直系子元素,需父容器设grid及轨道定义、子元素显式声明subgrid,缺一即退化;兼容性需双重@supports检测并配合CSS变量fallback。
-
使用HTML5开发跨平台应用需借助混合框架(如Capacitor)实现代码复用与原生功能调用,统一项目结构、集成插件、配置多平台环境并搭建热重载调试工作流。
-
float:left和float:right不能直接对齐,因浮动元素脱离文档流、各自向包含块边界靠齐且不协商位置;必须共用同一父容器并触发BFC,否则参照基准不同。
-
结论:用height:100vh搭配grid-template-rows:60px1fr50px能稳定实现全屏布局,但需确保html、body{height:100%;margin:0}且容器无干扰fr的样式;因fr分配的是容器内剩余空间,非视口高度,若容器未真正占满屏幕或存在margin/padding/border,1fr即无法铺满。
-
~可替代!==-1判断indexOf()结果,因~(-1)=0(假值),其余~n≠0(真值),故if(~str.indexOf('x'))等价于if(str.indexOf('x')!==-1),更简洁;适用于存在性判断,但丢失原始索引,可读性较低。
-
环境和版本不匹配是照搬教程代码失败的核心原因,涉及Python解释器路径混乱、小版本语法差异、依赖包冲突及IDE环境隔离等问题。
-
Grid子项默认不继承父容器高度,需通过grid-template-rows(如1fr)定义行轨道高度,align-self:stretch仅在子项无显式高度且轨道尺寸确定时生效。
-
首行文字高度不一致的根源在于::first-line继承父元素line-height和font-size,并受字体度量、行内盒模型及渲染差异影响;解决关键是统一基线行为并显式控制行高逻辑,推荐使用无单位line-height(如1.4),避免px/em值,限制::first-line字号变化,配合vertical-align与transform微调,统一字体栈,必要时改用inline-block包裹首行。
-
inputtype="email"触发浏览器原生格式校验(如必须含@和域名),但不查域名有效性,仅作前端提示;需配合required、placeholder、multiple等属性,并始终在服务端用RFC兼容规则二次校验并trim。
-
structuredClone支持Map、Set、Date、RegExp、Error、ArrayBuffer、TypedArray、DataView、普通对象、数组、BigInt、Boolean、String、Number、null、undefined及循环引用;不支持函数、Promise、WeakMap、WeakSet、DOM节点、getter/setter属性等。
-
SEOmeta标签必须动态生成并严格校验:description需每页独立且≤155字符,charset与viewport须置于head最前,canonical须为绝对URL,OG/Twitter标签需HTTPS图片;否则导致收录失败、乱码、重复内容或点击率暴跌。
-
label点击无反应的首要排查点是for属性与input的id是否逐字完全一致,包括大小写、连字符、下划线等;其次检查id唯一性、动态渲染后是否存在、radio/checkbox是否每个都独立绑定label,或改用嵌套写法及aria-labelledby。
-
pointer-events:none会彻底阻止元素及其所有后代响应鼠标事件,即使子元素设为auto也无效;它在事件分发前拦截,使JS监听器完全不触发,调试需查computedstyle。