Cascading Style Sheets(CSS)是一门指定文档该如何呈现给用户的语言。
文档是信息的集合,他使用一门标记语言作为结构。
将一篇文档 呈现 给用户是指将文档转化成你的听众能够使用的一种形式。
为用户 展现 文档意味着将其转换成一个可读性良好的格式。
创建一个文档#####
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Sample document</title>
</head>
<body>
<p>
<strong>C</strong>ascading
<strong>S</strong>tyle
<strong>S</strong>heets
</p>
</body>
</html>
在你的浏览器中开启一个新的标签页或窗口,打开文件。你会看到一串开头字母大写的文本,像这样:
Cascading Style Sheets
为何使用CSS#####
CSS帮助您将文档信息的内容 和如何展现它的细节相分离。众所周知,如何展现文档的细节即为样式(style)。您可以将样式从它的内容分离出来,以便您能够:
- 避免重复
- 更容易维护
- 为不同的目的,使用不同的样式而内容相同
总之,在HTML中,您使用标记语言来描述文档的内容而不是它的样式。您可以使用CSS来指定它的样式而不是它的内容。 (在本教程后续内容中,您会看到此种的例外情况。)
更多的细节
像HTML之类的标记语言也会提供指定样式的方法。
例如,在HTML中,您可以使用<b>标签来加粗文字,同时,您也可以在页面的<body>标记中指定背景颜色。
当您使用CSS时,您通常要避免使用标记语言的这些特性,以便您所有的文档样式信息保存在同一地方。```
#####创建样式表#####
在与前面相同的目录中,新建另一个文本文件。该文件将成为您的样式表。请将它命名为:style1.css
在您的CSS文件中,复制、粘贴下面的行,并保存该文件:
```strong {color: red;}```
######连接您的文档和样式表######
为将您的文档和样式表相连,请编辑您的HTML文件。并添加下面高亮的行:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Sample document</title>
<link rel="stylesheet" href="style1.css">
</head>
<body>
<p>
<strong>C</strong>ascading
<strong>S</strong>tyle
<strong>S</strong>heets
</p>
</body>
</html>
保存该文件并刷新您的浏览器。该样式表将首字母显示为红色,如下所示:
![](http://upload-images.jianshu.io/upload_images/1717809-4ab22441ebfd9a5e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
#####CSS如何工作#####
现代浏览器在展现一个文档的时候,必须把文档内容和相应的样式信息结合起来展示。这个处理过程一般分两个阶段:
1. 浏览器先将标记语言和CSS转换成DOM(文档对象模型)。这时DOM就代 表了电脑内存中的相应的文档文件,因为它已经融合了文档内容和相应的样式表。
2. 最后浏览器把 DOM的内容展示出来。
标记语言通过使用“元素”来定义文档结构。你需要使用一些以'<'开头和以'>'结尾的字符串,俗称*tags,*来构成元素。这些元素一般是在'< >
'里加上元素名来作为起始tag,在'< >
'里加上'/'和元素名的组合来构成结束tag。标记语言中规定,一些元素可以只有一个起始tag,或者构成元素的tag只有一个,但是这个tag里的名称后面必须要加个'/'。
元素也可以作为容器而存在,这样可以把其他元素放到这个元素的起始tag和结束tag之间。
DOM是一种树形结构。 每个元素和非空文本都可以看做是树形结构上的一个结点。DOM结点不再是容器,但是,它可以作为子结点的父类结点而存在。
示例(在示例代码中, 我们使用 ```<p>```标签和它的结束标签 ```</p>```构造了一个容器):
<p>
<strong>C</strong>ascading
<strong>S</strong>tyle
<strong>S</strong>heets
</p>
在这个 DOM中, P 结点是一个父结点,它的子结点包含了一些STRONG结点和文本结点。同时,STRONG结点各自也是父结点,它们也分别包含了一些文本结点作为子结点。
P
├─STRONG
│ └─"C"
├─"ascading"
├─STRONG
│ └─"S"
├─"tyle"
├─STRONG
│ └─"S"
└─"heets"
理解 DOM 结构可以帮助你更好的去设计、调试、维护CSS,因为 DOM 结构就是你的CSS和文档内容融合而成的。
#####分析DOM结构#####
...
#####层叠与继承#####