-
图片居中首选object-fit+flex,container需设宽高;IE兼容用background-image替代img;DOM锁死时用absolute+transform;vertical-align不适用于父容器垂直居中。
-
真正要记的是12个高频语义标签,如<main>、<section>、<article>、<aside>、<nav>、<header>、<footer>、<time>、<button>、<figure>、<figcaption>、<table>,它们影响可访问性、SEO和CSS行为。
-
CSS变量是运行时机制,JS可动态修改;Sass变量在编译阶段被替换,JS无法感知。前者支持主题切换、继承与局部作用域,后者支持复杂计算和逻辑判断,但需编译且无运行时灵活性。
-
使用HTML5的video标签可实现网页视频播放,支持controls控制、多格式兼容(MP4/WebM/Ogg)、autoplay静音自动播放、loop循环及JavaScript动态控制播放状态,推荐preload="metadata"优化加载,避免移动端自动播放大文件以提升体验。
-
:first-child匹配父元素的第一个子元素且类型需一致,而非首个某类型元素;应改用:first-of-type才能准确选中第一个p等目标类型元素。
-
<p>可嵌套<span>等行内元素,但<span>不能嵌<p>,因块级元素可含行内元素,反之浏览器会自动闭合导致DOM错乱、样式失效、SEO与无障碍问题。
-
z-index不生效的根本原因是父容器创建了层叠上下文(stackingcontext),使子元素z-index仅在内部生效;常见触发条件包括非static定位+数值z-index、opacity<1、transform/filter/will-change等。
-
border会让元素偏移1px,因其占据真实布局空间、改变宽高且参与文档流计算;outline不占空间但无圆角等限制;伪元素方案最可控但需注意定位和缩放;根本原因常是盒模型混用或默认样式未重置。
-
怎么用::before和::after画步骤之间的连接线关键不是“画线”,而是让每一步的右侧(或左侧)自动延伸出一条细线,连到下一步。最稳的方式是:只给除最后一步外的所有步骤加::after,让它生成一根绝对定位的横向线,宽度由下一项位置决定。常见错误是试图用::before在第一步左边画线,或给所有步骤都加伪元素再手动控制显隐——这会让DOM变动时线的位置错乱。每步容器用position:relative,方便伪元素定位::after设置content:""、pos
-
在HTML表单中添加CSRFToken需后端动态注入隐藏字段<inputtype="hidden"name="csrf_token"value="xxx">,每次请求刷新,Ajax提交时需手动获取并传入body或header,后端校验须恒定时间比对且统一错误提示。
-
window.scrollTo({top:0,behavior:'smooth'})不生效主因是CSSscroll-behavior被覆盖、滚动容器非viewport或Safari≤15.4不支持;应优先用document.documentElement.scrollTo()并检测scrollBehavior支持性,fallback用requestAnimationFrame实现cubic-out缓动。
-
IE8不支持oninput事件,需用onpropertychange+onkeyup组合监听,并过滤非value属性变更;onpropertychange需校验propertyName==='value'并比对新旧值,再叠加onpaste/ondrop加setTimeout延迟读取以补全粘贴拖拽场景。
-
video标签不加载MP4主因是路径错误或MIME类型不匹配,需用HTTP服务而非file://协议,正确配置src与source的type属性,并添加muted、playsinline等属性适配移动端自动播放。
-
图片缩放通过transform:scale()与transition结合实现,鼠标悬停时平滑放大;设置transform-origin、固定容器尺寸、提升z-index可优化体验;结合卡片容器并添加阴影变化,使用cubic-bezier调整缓动,能增强交互质感。
-
通过结合CSS的transition、transform与Flexbox、Grid布局,可实现高效流畅的动画交互。首先transition定义过渡效果,transform执行旋转缩放等视觉变化,二者配合用于按钮悬停、菜单展开等场景;在Flexbox中利用transform实现元素浮起动画,不触发重排,性能优越;Grid布局虽不支持grid属性直接动画,但可通过transition平滑切换class状态,配合transform实现模块扩展效果;实际应用中应优先使用GPU加速属性如transform和opac