有人告诉我,并且读到在 html 中使用 style 属性被认为是糟糕/草率/差的形式。此外,所有渲染特定位都应酌情分成 css 和其他部分。我试图理解为什么会这样。
我可以理解为什么您可能希望将 HTML 保留为纯语义 DOM,这说明了文档的结构,但对于实际页面,重要的是页面看起来正确且功能适当。
这种分离还有一些更令人信服的理由吗?
关注点分离这使得在不更改标记的情况下替换样式变得容易,反之亦然。另外,你可以让一个人负责 CSS,另一个人负责内容
不要重复自己您可以将样式应用于许多元素,而无需一遍又一遍地重复。较小的页面意味着使用更少的带宽更快的加载时间。另外,以后修改更容易,因为您可以在一个文件中的一处进行更改,而不是在许多文件中的许多地方进行更改。
可缓存性如果站点的每个页面都使用相同的样式表,浏览器可以下载一次然后缓存它,而不是下载每个页面内容的样式。每当这些页面的内容发生变化时,他们就不必重新下载它。
多个版本创建站点的视觉布局和外观的多个版本很容易,因为您只需更换样式表文件即可更改每个页面的外观。例如,您可以创建一个 Web 应用程序的白标版本,您的合作伙伴可以对其进行重新皮肤以匹配他们的品牌。请参阅CSS Zen Garden,了解有关这种方法的灵活性的一些很好的示例。
从这段代码开始:
<ul>
<li style="color: blue;">One</li>
<li style="color: blue;">Two</li>
<li style="color: blue;">Three</li>
<li style="color: blue;">Four</li>
</ul>
假设今天,您决定将链接颜色更改为红色。由于这些样式是内联的,因此您必须繁琐地遍历每个元素并更改style
属性。想象一下,为 10 个,也许 20 个 HTML 页面执行此操作,您就会明白为什么这会成为一个问题。
使用样式表分隔内容:
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
</ul>
从风格上:
ul li {
color: blue;
}
如果您从一开始就使用样式表,那么更改颜色就像更改样式表一样blue
简单red
。
除了使文档更易于设计之外,还有选择器的特殊性。想象一下,您从以前的开发人员那里继承了第一个代码块并想再次更改颜色,但您(作为一个优秀的开发人员)更喜欢样式表:
ul li {
color: red;
}
您很快就会感到沮丧并求助于使用!important
,因为您的选择器无法覆盖内联样式。
CSS 应该是 HTML 中包含的另一个文件,因为如果您想更改包含在多个页面中的元素的一种样式,您只需从 CSS 更改一种样式,更改将应用于所有文件。如果您有 HTML 样式,则需要逐页浏览并更改样式。这是一个很好的模板构建实践。
通过分离标记和 css。您可以使用 css 更改所有内容的外观,而不会影响标记。
好处包括: 为同一个 html 创建不同的设计。在团队内分工。一位前端开发人员可以完全专注于 CSS。后端开发人员,不必为 css 烦恼。将来更容易改变外观。将来更容易将 html 标记迁移到新平台或内容管理系统。