🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 2 CSS2.2的相关介绍 > by aning [TOC] ## 2.1 基于HTML的CSS2.2简单教程 这部分是非规范化的。 在本教程中,我们展示了设计简单的样式表是多么容易。为了更好的学习本教程,你需要知道一点HTML(详见[[HTML4]](https://www.w3.org/TR/CSS22/refs.html#ref-HTML4))和一些基础的桌面出版系统术语。 我们首先用一个小的HTML文件: ~~~ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <TITLE>Bach's home page</TITLE> </HEAD> <BODY> <H1>Bach's home page</H1> <P>Johann Sebastian Bach was a prolific composer. </BODY> </HTML> ~~~ 要将H1元素的文本颜色设置为红色,您可以编写以下CSS规则: ~~~ h1 { color: red } ~~~ CSS规则由两个主要部分组成:<u>[选择器](https://www.w3.org/TR/CSS22/selector.html)</u>('h1')和声明('color: red')。在HTML中,元素名称是不区分大小写的,所以“H1”和“H1”是一样的。声明有两部分:属性名('color')和属性值('red')。虽然上面的示例试图只影响HTML文档所需的属性之一,但它本身具有样式表的资格。结合其他样式表(CSS的一个基本特性是样式表被合并),规则将决定文档的最终表示。 HTML 4规范定义了如何为HTML文档指定样式表规则:无论是在HTML文档中,还是通过外部样式表。要将样式表放入文档中,请使用STYLE元素: ~~~ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <TITLE>Bach's home page</TITLE> <STYLE type="text/css"> h1 { color: red } </STYLE> </HEAD> <BODY> <H1>Bach's home page</H1> <P>Johann Sebastian Bach was a prolific composer. </BODY> </HTML> ~~~ 为了获得最大的灵活性,我们建议作者指定外部样式表;它们可以在不修改源HTML文档的情况下进行更改,并且可以在多个文档中共享它们。要链接到外部样式表,可以使用LINK元素: ~~~ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <TITLE>Bach's home page</TITLE> <LINK rel="stylesheet" href="bach.css" type="text/css"> </HEAD> <BODY> <H1>Bach's home page</H1> <P>Johann Sebastian Bach was a prolific composer. </BODY> </HTML> ~~~ LINK元素详述: * 链接类型:一个"样式表"。 * 样式表的位置用过"href"属性表示。 * 链接样式表的类型:"text/css". 为了显示样式表和结构化标记之间的密切关系,我们将继续在本教程中使用STYLE元素。让我们添加更多的颜色: ~~~ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <TITLE>Bach's home page</TITLE> <STYLE type="text/css"> body { color: black; background: white } h1 { color: red; background: white } </STYLE> </HEAD> <BODY> <H1>Bach's home page</H1> <P>Johann Sebastian Bach was a prolific composer. </BODY> </HTML> ~~~ 样式表现在包含四条规则:前两个设置了BODY元素的颜色和背景(将文本颜色和背景颜色设置在一起是一个好主意),而后两个则设置了H1元素的颜色和背景。因为p元素没有指定颜色,所以它将继承其父元素的颜色,即BODY。H1元素也是BODY的子元素,但是第二个规则层叠了继承的值。在CSS中,不同的值之间常常存在这样的冲突,这个规范描述了如何解决它们。 CSS 2.2有超过90个属性,包括<u>["color"](https://www.w3.org/TR/CSS22/colors.html#propdef-color)</u>。让我们看一些其他的: ~~~ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <TITLE>Bach's home page</TITLE> <STYLE type="text/css"> body { font-family: "Gill Sans", sans-serif; font-size: 12pt; margin: 3em; } </STYLE> </HEAD> <BODY> <H1>Bach's home page</H1> <P>Johann Sebastian Bach was a prolific composer. </BODY> </HTML> ~~~ 要注意的第一件事是,几个声明组合在一个封闭的大括号({...}),并用分号分隔,最后的声明也要以分号结尾。 第一个关于BODY元素的声明将font-famliy设置为“Gill Sans”。如果该字体不可用,则用户代理(通常称为“浏览器”)将使用“无衬线字体”font-famliy,该font-famliy是所有用户代理知道的五个通用字体之一。BODY的子元素将继承“font-famliy”属性值。 第二个声明将BODY元素的字体大小设置为12pt。“point”单元常用于基于印刷字体的排版,以表示字体大小和其他长度值。这是一个绝对单位的例子,它不与环境有关。 第三声明使用一个相关单位来衡量其周围的环境。“em”单元是指元素的字体大小。在这种情况下,结果是BODY元素周围的边距比字体大小宽三倍。 ## 2.2 基于XML的CSS2.2简单教程