-
JavaScript原型链是对象通过[[Prototype]]链接逐级向上查找属性和方法的继承机制;普通对象、数组、函数的原型最终都指向Object.prototype,其[[Prototype]]为null;构造函数的prototype指定实例原型,__proto__指向直接原型;属性查找沿__proto__链进行直至null;主流继承方式包括组合继承、寄生组合继承和ES6class,均基于原型链实现。
-
真正平滑的文字渐变动画需用background-clip:text+transparent文字色,再动画background-position或background-size;仅color或opacity动画会导致色相跳变或无色彩变化。
-
align-items:center不生效的主因是容器未设display:grid/inline-grid;需确保父容器有明确高度,且无更高优先级样式覆盖,单个子项居中应改用align-self:center。
-
decoding属性通过指定图像解码方式(同步或异步)影响页面渲染流畅性,但图片加载优化更依赖响应式图片、现代格式、懒加载等策略。1.decoding有sync、async、auto三个值:sync阻塞渲染线程适合关键小图但可能拖慢LCP;async后台解码提升响应性推荐用于非关键图;auto由浏览器自动判断。2.核心优化手段包括:使用srcset和sizes适配设备、采用WebP/AVIF压缩体积、应用loading="lazy"实现按需加载、利用CDN加速资源分发。3.借助ChromeDevTools
-
CSStransition在Grid布局中对opacity、transform等可动画属性有效,但grid-template-columns等结构属性不支持平滑过渡,需通过transform或变量间接实现视觉动画效果。
-
transition-duration必须带合法时间单位(如0.3s或300ms)才生效,无单位值(如.3或0.3)会导致整条规则被忽略;需与transition-property配合使用,单独设置无效;不可过渡属性(如display)即使设了duration也无效。
-
transition必须写在将要发生变化的元素本身上,而非父元素或触发元素;仅可计算且有中间值的属性(如opacity、transform)支持过渡;需显式声明初始值,避免使用auto等不可插值关键字。
-
<p>统一盒模型是解决CSS组件库样式冲突的基础规范,应全局设置*{box-sizing:border-box;}并配合::before,::after{box-sizing:inherit;},兼顾第三方库兼容性、ShadowDOM处理及团队规范落地。</p>
-
JavaScript变量提升指声明被移至作用域顶部:var声明与初始化为undefined一同提升;let/const仅声明提升,访问触发TDZ错误;函数声明完整提升可提前调用,函数表达式不提升。
-
border是唯一靠谱的通用CSS画三角形方案,原理是设宽高为0后利用单向实色边框与其余透明边框交汇形成斜角三角形。
-
text-shadow属性通过设置水平垂直偏移、模糊半径和颜色来实现文字阴影效果,可创建简单阴影、浮雕或凹陷等立体感,支持多重阴影叠加以增强视觉层次,合理调整参数能提升设计表现力。
-
可用::before伪元素配合transform:scale()与过渡动画实现链接hover时背景“轻微扩散”效果:通过相对定位、绝对定位伪元素,初始小缩放+大圆角,hover时放大并减小圆角,配合inset和transform-origin优化适配性。
-
flex容器内容横向溢出不换行,需显式设置flex-wrap:wrap,并合理配置子项的min-width、flex-basis与flex-shrink,避免min-width过大或flex-shrink:0导致换行失效。
-
float是不可继承属性,子元素不会自动继承父元素的float值;其本质是改变自身在文档流中的定位,不向下影响子树布局,且CSS规范明确将其归为非继承属性。
-
footer是语义化标签,代表内容区块结尾信息而非视觉底部;可多处使用,需匹配归属上下文,全站页脚应置于body直接子级,避免误用为布局容器。