什么是 CSS

打开任何设计精良的网站,去掉它的 CSS,你会看到一列黑色文本在白色背景上:每个标题、每个段落、每个链接,按顺序堆叠,完全没有样式。这个简朴的列表就是你的 HTML。让页面看起来设计精美的所有内容——颜色、间距、字体、列、卡片和导航栏——都是 CSS。本章讲的是这第二种语言是什么以及它如何与第一种语言一起工作。
CSS 应用前后的页面对比
CSS 代表 级联样式表。重点是 样式:CSS 是描述页面外观的方式。你的 HTML 说"这是一个标题,这是一个段落,这是一个按钮"。CSS 则说"让标题大一点且深蓝色,给按钮一些内边距和圆角"。
把 HTML 想象成房间的内容、家具和它们的位置,把 CSS 想象成油漆、照明和布置。同一个房间,但一个空荡荡的,一个是你想待的地方。你写 CSS 规则指向你 HTML 的各个部分并改变它们的外观。
h1 {
color: navy;
font-size: 2rem;
}这是一条单独的 CSS 规则。它找到页面上每个 <h1> 标题并将其变成海军蓝并放大。HTML 完全保持不变;只有它的外观改变了。
CSS 如何指向你的 HTML
CSS 只有能找到页面的正确部分时才有用。它通过 选择器 做到这一点:规则开始的部分,命名要设计样式的元素。在上面的规则中,h1 是选择器,意思是"每个 h1 标题"。
你通常会通过在 HTML 中给元素一个 class 并从 CSS 指向该 class 来定位元素。class 是你选择的标签:
<button class="buy-button">立即购买</button>.buy-button {
background-color: teal;
color: white;
}.buy-button 选择器找到带有该 class 的元素并设计它的样式。你稍后会遇到许多选择器类型;class 是你最经常使用的。
class="name",然后在你的 CSS 中设计 .name 的样式。现在不用担心其他类型,class 会让你走很远。 "级联"的含义
级联样式表中的第一个词是人们跳过的那个,但它解释了很多。多条规则可以适用于同一元素,它们可能不同意。也许一条规则说段落是灰色的,另一条说这个特定段落是黑色的。级联 是浏览器用来决定哪个赢的一组规则。
大多数时候归结为一件事:如果两条规则的特异性相同,后写的规则赢。你现在不需要全貌。知道当样式没有按你预期显示时,通常是因为另一条规则击败了它,而不是因为 CSS 坏了。
CSS 从这里走向何方
CSS 在其核心是一种小语言,一个选择器和一些属性值对,但它的覆盖范围很广。一旦你可以定位元素并设置属性,本手册的其余部分是关于值得了解的属性和建立在它们之上的系统:控制间距和大小的 box 模型,然后是颜色和类型,然后是布局工具 flexbox 和 grid,它们排列整个页面。
下一章 CSS 如何工作 具体说明了本章介绍的机制:将 CSS 附加到页面的三种方式、规则的确切解剖结构,以及级联和继承如何决定每个元素最后的外观。

