-
disabled元素的值不提交,readonly元素的值正常提交;readonly仅对text、password、textarea有效,select和checkbox等不支持;disabled支持fieldset批量控制且语义更明确。
-
width:min-content计算内容拒绝换行时的最小宽度,非肉眼所见文本块宽;它只依据内容内在断点(如最长英文单词、整段无空格字符串或单个汉字)确定,不受父容器、max-width或空格影响。
-
可用HTML+CSS实现时间刻度标尺:固定时间粒度(如1天=60px),用grid布局确保等宽列,配合transform:translateX()整数滚动对齐,white-space:nowrap防文字换行,position:sticky固定轴头,并适配DPR导出清晰图。
-
:empty伪类选择完全无内容的元素(不含文本、子元素或空格),可用于设置占位背景或提示文字。例如为空容器添加斜纹背景或通过::before显示“暂无内容”;适用于表单上传、评论区、数据表格等场景,提升空状态用户体验。使用时需确保元素纯净,避免空格导致匹配失败。
-
object-fit不改变盒模型,只控制图片内容在已定尺寸容器内的缩放与裁剪方式;需先明确img宽高约束(如width:100%;height:200px)才生效。
-
:invalid抖动动画需确保输入框参与原生验证(如加required),配合animation-fill-mode:both和animation:none重置,兼容Safari及移动端,并响应prefers-reduced-motion降级为静态提示。
-
不能直接用video默认控件,因其样式、布局、快捷键、拖动反馈均被封装且浏览器行为不一致;必须移除controls属性,用JavaScript接管play()/pause()、currentTime等API,并通过事件监听实现自定义交互与可访问性。
-
WebSocket在浏览器中运行60秒后触发1006错误(连接异常终止),即使已实现每5秒Ping-Pong心跳,根本原因在于Node.jshttp.Server默认超时机制与ws库noServer:true模式不兼容,导致底层TCP连接被静默关闭。WebSocket在浏览器中运行60秒后触发1006错误(连接异常终止),即使已实现每5秒Ping-Pong心跳,根本原因在于Node.js`http
-
模块预加载加剧内存碎片是因为加载后未统一管理生命周期,导致各插件独立堆分配器、符号表和TLS区频繁映射/卸载,产生大量零散mmap空洞;需通过预分配固定内存池并重定向malloc/new调用,配合munmap整块回收、Dex预解析与ClassLoader隔离、内存水位联动及madvise归还等手段综合治理。
-
不能靠toFixed规避金融计算中的舍入误差与精度丢失,因其采用银行家舍入且作用于已失真的浮点数;安全做法是全程使用整数(如“分”)运算,展示时再格式化。
-
onselect属性在textarea(及input)上不生效,因HTML规范中select事件仅对document等少数元素支持,现代浏览器下textarea不触发该事件;应改用document的selectionchange事件配合activeElement判断,或直接读取textarea.selectionStart/selectionEnd。
-
CSS属性选择器[attr]可匹配任意含指定属性的元素,无论属性是否有值;如[title]选中所有带title属性的元素,注意大小写敏感性及与[attr="value"]的区别。
-
该用::before和::after代替HTML标签当装饰性内容不参与语义、不被屏幕阅读器读取、也不需JS交互时;必须设content才渲染,伪元素默认inline需重置display,不触发事件且继承有限。
-
<small>是语义化标签,专用于版权信息、免责声明、脚注等次要但需保留的内容,不可仅作样式控制;滥用会损害可访问性、SEO及语义结构。
-
iframeCSS定位偏移的核心原因是内外缩放不一致或定位上下文混乱,需统一渲染环境、重置缩放、明确内部定位根节点并隔离干扰。