-
固定CSS表格标题的核心是让表头在滚动时保持可见,提升用户体验。主要方案有两种:一是使用position:sticky,通过设置top:0实现表头粘滞效果,优点是代码简洁、语义清晰,适用于现代浏览器,但受限于父级overflow属性且兼容性较差(如IE不支持);二是采用分离结构的overflow+display:block方案,将<thead>和<tbody>分别包裹在不同容器中,仅对表体设置overflow-y:auto以实现内容滚动而表头固定,兼容性好但需手动同步列宽,通常配合
-
卡片容器需设为display:block或inline-block并配合box-sizing:border-box,避免margin折叠与padding撑宽;注意inline-block空白间隙、box-shadow顺序及inset位置;padding控内容内距,margin管外部间距;border-radius需配overflow:hidden。
-
iPhoneX+系统中fixed头部被刘海遮挡,需用top:env(safe-area-inset-top)适配安全区域,并配合viewport-fit=cover元标签及兼容写法top:constant()和top:0。
-
主轴由flex-direction决定,justify-content控制主轴对齐,align-items控制垂直于主轴的交叉轴对齐,二者结合可实现元素精准定位。
-
trycatch仅捕获同步错误,异步错误需用async/await配合await或Promise.catch;finally适合无条件清理,避免修改返回值或抛新错;错误对象应善用message、stack、name及自定义继承。
-
Bootstrap和TailwindCSS均可高效实现导航栏布局。Bootstrap通过预设组件类快速构建响应式导航栏,如使用navbar、navbar-expand-lg等类;Tailwind则通过实用类组合灵活设计,如flex、hiddenmd:flex实现布局与响应式。两者均需处理移动端交互,Bootstrap内置JavaScript支持,Tailwind需额外编写脚本。项目可根据开发效率与定制需求选择合适方案。
-
用::before和::after做波纹填充,为什么位移后总露边?核心问题不是动不起来,而是裁剪没对齐——overflow:hidden必须加在进度条容器上,而不是父级或body。很多同学把overflow加在wrapper里,结果波纹从外层“溢出”,看着像动画失控。实际做法是:进度条本身(比如.progress-bar)设overflow:hidden,再让伪元素在里面平移。否则位移再精准也没用,背景图直接跑出可视区。.progress-bar必须有明确宽高和positi
-
margin:auto在Flex布局中生效需满足父容器display:flex且存在剩余空间;若子元素撑满主轴或父容器无尺寸限制则无效;IE11中交叉轴方向支持差,应避免依赖。
-
HTML无原生顺序选择器,但可通过fieldset/legend结构、required验证、data-step导航、progress进度条及ARIA属性协同实现可控多步表单。
-
repeating-linear-gradient生成条纹需确保颜色停靠点首尾相接且总长等于重复周期,如0%,10px,10px,20px;必须配合background-size(值同周期)和background-repeat:repeat使用。
-
强制下载需用download属性(仅同源生效)或fetch+Blob方案(跨域通用),后者需mode:'cors'且注意大文件内存占用。
-
必须按LVHA顺序显式设置a、a:link、a:visited、a:hover、a:active的颜色,否则状态样式会互相覆盖;同时需注意优先级冲突、深色模式对比度及:visited的隐私限制。
-
SVG布局首选Flex:需设viewBox、避免宽高冲突、响应式必配preserveAspectRatio;内联SVG才支持CSS控制内部元素,symbol+use需显式设fill或用currentColor。
-
flex-wrap是控制Flex容器主轴是否换行的属性,默认nowrap会导致溢出,设为wrap后依据flex-basis和间距自动折行;常见溢出原因包括flex-basis过大、父容器宽度固定、文本不折行或flex-shrink被禁用。
-
要原样显示HTML转义字符如 ,需对&符号再次转义为&nbsp;;JS中用textContent而非innerHTML;模板引擎需传入双转义字符串;document.createTextNode()可完全避免解析。