排版

人们在网上阅读的大部分内容都是文本,而页面给人的感觉很大程度上来自于文本的设置方式。改变字体、调整行距、限制行长,同一段落就会从拥挤令人厌烦变成清爽易读。这不是装饰。这就是排版,是决定你的文字阅读舒适度的一些CSS属性,本章介绍你日常使用的那些。
选择字体
选择字体的属性是font-family,它不是一个字体,而是一个列表。这个列表称为**字体堆栈**:浏览器先尝试第一个字体,如果不可用就回退到下一个,依此类推。
body {
font-family: "Helvetica Neue", Arial, sans-serif; /* 尝试Helvetica,然后Arial,然后任意无衬线字体 */
}列表中的最后一个名称应该总是一个通用字体族,如sans-serif或serif。这是你的安全网:如果读者设备上没有任何指定的字体,浏览器仍然会显示合理的内容,而不是你没有选择的默认字体。包含空格的字体名称放在引号中;单字词名称不需要引号。
font-family接受一个列表,不是一个字体,浏览器使用它能找到的第一个。总是以通用字体族(如sans-serif)结尾列表,这样就有安全后备。用引号包装任何包含空格的字体名称。 文本大小
你用font-size设置文本大小。你可以用像素值,但你应该使用的大小单位是**rem**,一个与页面基础字体大小相关的单位。一个rem等于浏览器的默认文本大小,通常是16px,所以1rem是正常阅读大小,1.25rem稍大一些。
body {
font-size: 1rem; /* 基础阅读大小,通常16px */
}
h1 {
font-size: 2rem; /* 两倍基础大小 */
}font-size设置文本有多大,rem是你应该选择的单位。一个rem是浏览器的正常文本大小,所以1rem是常规的,2rem是两倍大。避免用px设置正文大小,这是下一个级别深入的内容。 粗细和样式
两个属性改变你字母的形状。font-weight控制文本有多粗,font-style打开**斜体**。
strong {
font-weight: bold; /* 更重、更粗的笔画 */
}
em {
font-style: italic; /* 倾斜 */
}bold和normal是日常粗细关键字。对于斜体,italic倾斜文本,normal保持其直立。
font-weight使文本更粗或更轻,font-style: italic倾斜它。关键字bold和normal涵盖你日常所需的大部分。使用斜体用于强调,而不是整个段落,会变得难以阅读。 使文本可读的间距
舒适的文本主要是关于空间。line-height控制行之间的间隙,给它一些空间会使段落更容易阅读。
p {
line-height: 1.5; /* 字体大小的一倍半 */
}使用像1.5这样的纯数字,没有单位。这意味着"字体大小的一倍半",所以间距随文本增长。拥挤的行是页面感觉难以阅读的最常见原因之一,这个值修复了大部分。
line-height设置行之间的空间,约1.5的值使文本更容易阅读得多。将其写成纯数字,没有单位,这样间距随文本增长。拥挤的行是页面感觉难以阅读的主要原因,这修复了大部分。 对齐和装饰
三个属性处理对齐和完成接触。text-align将文本向左、向右或居中移动。text-transform改变大小写,如使文本全部大写。text-decoration添加或移除线条,如下划线。
h1 {
text-align: center; /* 居中标题 */
}
.button {
text-transform: uppercase; /* 显示为全大写 */
text-decoration: none; /* 删除链接下划线 */
}text-transform: uppercase显示大写文本,不需要你重新输入,所以原始内容保持为普通单词。下划线用text-decoration添加或移除。
text-align将文本向左、向右或中心移动,text-transform: uppercase以大写显示,text-decoration添加或移除下划线等线条。CSS中的大写保持你的实际文本为普通单词,所以你从不重新输入它为大写。当你想删除链接的下划线时,伸出text-decoration: none。 字体简写和继承
字体属性有一个方便的特性:它们向下传递。在<body>上设置font-family,里面的每个段落、标题和链接都继承它,所以你很少重复自己。
body {
font-family: system-ui, sans-serif; /* 里面的所有内容都继承这个 */
line-height: 1.5;
}因为这个,你的大部分排版都在样式表顶部靠近一个地方,单个元素仅覆盖他们需要不同的东西。
body上一次设置font-family,所有内容都继承它。这保持你的排版在样式表顶部靠近一个地方。单个元素仅覆盖他们需要改变的位。 
