-
JavaScript表单正则验证关键在于流程嵌入而非语法本身:blur触发主校验、input仅做轻量过滤;必加^$锚点防子串匹配;显式处理中文、空格、emoji;前后端校验逻辑必须一致,且后端不可省略。
-
外边距合并是CSS规范定义的margin-collapse行为,仅发生在普通流中垂直方向块级元素间;有效解法是触发BFC(如overflow:hidden或display:flow-root)或改用flex+gap布局。
-
行内样式本身不直接触发重排,但JS中读写交替(如先读offsetHeight再设style)会强制同步布局;单纯改opacity等属性通常只重绘,改width或display则大概率重排。
-
在CSS中,id属性是HTML元素的唯一标识符。1)id选择器以“#”开头,用于精确选择和样式化单个元素。2)id选择器优先级高,仅次于内联样式和!important。3)id应在页面中唯一使用,避免样式冲突。4)适用于布局中的关键元素,如导航栏和页眉。5)可结合伪类实现复杂效果,但需谨慎使用以防性能问题。
-
button的value属性是否显示取决于type:type为submit或reset时value覆盖标签内文本;type为button时value不参与显示,仅用于脚本读取;未声明type时默认submit,仍按提交类规则处理。
-
window.name是浏览器中生命周期与窗口绑定的全局字符串属性,页面跳转、刷新及跨域时均不丢失,适合轻量级跨页面数据传递,但不可存储敏感信息。
-
用overflow-wrap:break-word并配合min-width:0和width:100%,可安全折行长URL;word-break:break-all易致中文断字,hyphens:auto对URL无效且有兼容性风险。
-
用<ol>语义化结构配合flex布局水平排列<li>,伪元素::after绘制连接线并隐藏最后一项,外层容器设overflow-x:auto实现响应式横滑,移动端用clamp()缩放字体、white-space:nowrap防换行。
-
BEM能让CSS更易复用,因其通过「块__元素--状态」命名强制绑定样式与结构,明确依赖关系,避免全局冲突;补BEM应渐进式改造高频模块,严守命名规范;它不与CSS-in-JS或Tailwind冲突,但需统一风格避免混用。
-
opacity控制元素整体透明度,影响所有子元素;RGBA则用于局部颜色透明控制,仅作用于指定颜色属性。两者结合可实现丰富视觉效果,但透明度会叠加需谨慎使用。
-
radio按钮不互斥因name属性不一致;label未绑定导致点击文字无效;默认选中用checked而非defaultChecked;获取值应直接查:checked伪类并判空。
-
标题标签是语义骨架而非字号开关,必须逐级使用且每个页面仅一个<h1>;跳级、重复或滥用会破坏SEO与可访问性,样式应交由CSS控制。
-
hue-rotate()通过旋转色相环改变颜色,非直接加红;偏红需据原图主色调调整角度,黑白图无效,须先取消灰度;作用域需隔离图标元素;应将hue-rotate()置于filter链首位以防发灰;iOSSafari存在兼容性问题,需兜底方案。
-
单页应用通过HistoryAPI实现无刷新跳转,利用pushState、replaceState修改URL并监听popstate事件响应路由变化,摆脱hash依赖,结合服务端配置处理404和SEO,构建流畅用户体验。
-
掌握TailwindCSS中border和border-radius工具类可提升开发效率:1.使用border、方向类、宽度类、样式类和颜色类快速设置边框;2.利用rounded系列类控制圆角大小及方位;3.结合边框与圆角构建卡片、输入框、按钮等组件,并配合overflow-hidden实现内容裁剪。