好的!把“样式的内联式”和“外部 CSS 文件”放在一起对比,看法一目了然。下面先给定义,再说特点/适用范围,最后结合你刚做的 Banner 例子说明取舍。

概念

对比(特点与利弊)

维度 内联式(style="") 外部 CSS(.css 文件)
优先级 很高(仅次于 !important 规则);容易覆盖其它样式 常规优先级,遵循选择器权重与加载顺序
复用/维护 不可复用,样式散落在 HTML 中,维护成本高 高复用、结构清晰,便于协作与代码审查
功能完整性 不能写选择器、伪类、媒体查询,也不便写复杂效果 能写选择器/伪类/@media/变量等,支持体系化设计
性能与缓存 跟随 HTML,每次都要下载;HTML 变大 CSS 独立文件,可缓存,首屏后更省流量
修改速度 改动单个元素最快 改动需进 CSS 文件,但能“一处改,处处生效”
动态性 适合 JS 临时注入/覆盖某个元素样式 适合稳定规则;JS 也可切换类名来触发样式
可读性/可维护 容易“边写边乱”,难统一规范 符合“结构-表现分离”,最利于长期维护

适用范围(经验法则)

结合你的 Banner 例子

你现在有两种写法:

A. 背景图用内联式(我们刚做的版本)

<section class="hero" style="background-image:url('images/banner.jpg')">
  …
</section>

B. 背景图写在 CSS(之前的版本)

/* styles/hero.css */
.hero--spring  { background-image:url('../images/spring.jpg'); }
.hero--autumn  { background-image:url('../images/autumn.jpg'); }

<!-- HTML -->
<section class="hero hero--spring">…</section>

在你的项目里怎么取舍?