-
优先用CSSbackground-blend-mode解决背景图与文字颜色冲突,如multiply/screen/overlay;其次用伪元素遮罩层;再辅以filter微调;最终需前后端协同控制图片色域。
-
box-sizing:border-box时width包含内容区、内边距和边框三者总和;默认content-box下width仅指内容区,padding和border会额外增加总宽;全局设border-box需覆盖伪元素并注意旧库兼容性。
-
CSS中没有layered选择器,所谓“层叠”实为特异性、声明顺序和!important共同作用的结果;@layer是用于控制样式优先级的层叠规则,而非选择器。
-
JavaScript创建自定义事件需用CustomEvent构造函数定义类型与detail数据,并调用dispatchEvent在目标元素触发;监听时用addEventListener,通过event.detail获取数据。
-
卡片式布局关键在CSS容器划分与视觉隔离,首选CSSGrid实现响应式网格,用grid-template-columns:repeat(auto-fill,minmax(280px,1fr))和gap统一间距,避免float或inline-block导致的错位与间隙问题。
-
用CSS框架统一图表样式需通过类名约定与自定义属性实现:为容器设统一类(如chart-container)并用修饰符(--primary、--dark)定义主题变量;借助工具类控制尺寸留白;JS中读取CSS变量动态配色,避免硬编码。
-
play()不接受音量参数,因音量是媒体元素独立属性,需通过volume属性设置(0.0–1.0),且必须在用户交互上下文中操作,否则被浏览器忽略。
-
display:none彻底移除元素布局空间,不占文档流、不触发重排、无障碍支持弱;visibility:hidden保留布局占位但不可见,支持transition但无渐变效果;opacity:0实现平滑淡入淡出,仍响应交互且需配合pointer-events:none和焦点管理。
-
现代博客首页应使用语义化HTML标签:header包导航和标题,main放文章列表,aside放分类/关于/友链,footer放版权和备案信息;CSS布局优先选Grid实现三区域响应式,避免float或绝对定位;文章卡片需用white-space、-webkit-line-clamp和word-break防溢出;断点设为480px和768px~1023px两档,字体用rem/em保证缩放适配。
-
JavaScript数组高级操作核心是正确使用map、filter、reduce:reduce需严格匹配accumulator类型与初始值;map用于生成新数组,forEach仅用于副作用;filter须防御null/undefined;所有操作前应明确输入输出类型及边界情况。
-
使用absolute定位实现弹窗居中,关键步骤为:1.设置position:absolute;top:50%;left:50%;再配合transform:translate(-50%,-50%)实现精准居中;2.父容器可设position:relative以限定定位参考范围;3.遮罩层用fixed覆盖全屏,z-index低于弹窗以确保层级正确。
-
JS动画核心是定时更新样式并依赖浏览器重绘,常用方式有:1.setTimeout/setInterval(基础但易掉帧);2.requestAnimationFrame(推荐,60fps流畅节能);3.其他高级库方案。
-
ES6class本质是构造函数的语法封装,底层仍基于function和prototype,不支持提升,存在TDZ,内部默认严格模式,方法不可枚举,子类constructor必须先调用super()才能访问this。
-
是,flex项目默认受box-sizing直接影响;其width/height计算起点取决于box-sizing值,默认content-box会导致内容宽+padding+border溢出,推荐全局设border-box。
-
class声明不提升且强制new调用,function声明提升且可直接调用;class方法不可枚举、子类必须super(),static方法定义时机与绑定方式也不同。