-
white-space:nowrap是禁止文字换行的正确起点,但单独使用常失效:需配合width/max-width、display:block/inline-block、overflow:hidden及text-overflow:ellipsis才能实现完整截断效果,且在表格、contenteditable等场景需额外处理。
-
:focus直接生效但易污染全局、损害可访问性;失效主因是outline:none未替代、动态元素未就位、显隐属性阻断、权重覆盖、语义类型未区分;推荐用:focus-visible区分键盘/鼠标聚焦,并适配高对比模式。
-
用[href$=".pdf"]可精准匹配以.pdf结尾的URL并添加图标,因$=操作符只匹配属性值结尾,比*=更安全;需注意空格、协议不影响匹配,但IE8不支持。
-
max-width需配合width(如width:100%或width:fit-content)和display(如inline-block)才能避免塌陷或溢出;margin:0auto仅对有明确宽度的静态块级元素有效,Flex/绝对定位/行内元素需其他居中方式。
-
应将表单公共样式用@apply抽成.form-input等自定义类并置于@layercomponents中,避免被PurgeCSS误删;@apply仅支持Tailwind原生工具类,不可嵌套自定义类;需显式声明dark:变体以适配暗色模式。
-
<progress>标签需同时设置value和max属性才能正确显示进度,如<progressvalue="65"max="100">;仅设value会导致解析异常;兼容IE需降级为<div>模拟,动态更新须校验边界并用requestAnimationFrame实现平滑动画。
-
<p>关键在于监听dragover事件并调用event.preventDefault();再通过event.clientY与target.getBoundingClientRect()计算offset=event.clientY-rect.top,若offset小于高度一半则为上方,否则为下方。</p>
-
HTML加载慢主因非体积大,而是阻塞渲染、错误路径、base64内联、缺失压缩及file://协议限制;应通过Network面板定位瓶颈,用本地服务器替代双击打开。
-
原生对话框(alert/confirm/prompt)虽零依赖但阻塞主线程、无样式定制且兼容性差,现代项目应优先使用语义化可定制的<dialog>元素或轻量封装方案。
-
使用CSSGrid的grid-template-columns配合auto-fit和minmax可实现响应式图片墙:.image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;}auto-fit会自动填充并拉伸列以适配容器,避免空白;minmax(200px,1fr)确保每列最小200px、最大等比分配。大屏显5列、平板3列、手机1列,无需媒体查询。与auto-fill不同,auto-
-
纯前端HTML+JavaScript即可实现在线SQL格式化工具,通过<script>引入jsDelivrCDN上的sql-formatter@14.1.0UMD版本,全局获得sqlFormatter对象,调用sqlFormatter.format(sql,{language:'mysql',indent:'',keywordCase:'upper'})即可完成格式化,无需后端、不发请求、不传数据;需显式指定language防止语法解析错误,并预清理不可见Unicode字符。
-
用div创建宽高盒子需同时设置width和height,并推荐添加background-color确认显示;常见不显示原因包括父容器无高度、display被修改、CSS权重不足、overflow裁剪等。
-
Less4.2.0是当前最新稳定版,不支持原生List/Map类型及list-append()、map-keys()等语法;所谓“Less4.0新特性”属误传,其核心设计坚持静态替换,仅提供extract()和length()处理空格分隔值序列。
-
按钮等宽的关键是flex:100配合min-width:0,以禁用收缩并破除浏览器对button的隐式最小宽度限制,同时需父容器display:flex且子项不设冲突width。
-
JavaScript动画核心是requestAnimationFrame驱动、CSS控制视觉、数值插值决定中间态;因setTimeout/setInterval不同步刷新、无法暂停优化,易掉帧卡顿。