当初一帮技术人员想出HTML,主要侧重于定义内容,比如<p>表示一个段落,<h1>表示标题,而并没有过多设计HTML的排版和界面效果。
随着Internet的迅猛发展,HTML被广泛应用,上网的人们当然希望网页做得漂亮些,因此HTML排版和界面效果的局限性日益暴露出来。为了解决这个问题,人们也走了不少弯路,用了一些不好的方法,比如给HTML增加很多的属性结果将代码变得很臃肿,将文本变成图片,过多利用Table来排版,用空白的图片表示白色的空间等。直到CSS出现。
CSS可算是网页设计的一个突破,它解决了网页界面排版的难题。可以这么说,HTML的Tag主要是定义网页的内容(Content),而CSS决定这些网页内容如何显示(Layout)。
CSS的英文是Cascading Style Sheets,中文可以翻译成串联式样式表。
CSS按其位置可以分成三种:
Inline Style是写在Tag里面的。内嵌样式只对所在的Tag有效。
<P style="font-size:20pt; color:red">这个Style定义</p>
<p>里面的文字是20pt字体,字体颜色是红色。</p>
内部样式表是写在HTML的<head></head>里面的。内部样式表只对所在的网页有效。
<HTML>
<HEAD>
<STYLE type="text/css">
H1.mylayout {border-width:1; border:solid; text-align:center; color:red}
</STYLE>
</HEAD>
<BODY>
<H1 class="mylayout"> 这个标题使用了Style。</H1>
<H1>这个标题没有使用Style。</H1>
</BODY>
</HTML>
内部样式表(Internal Sytle Sheet)要用到Style这个Tag,写法如下:
<STYLE type="text/css">
......
</STYLE>
如果很多网页需要用到同样的样式(Styles),用什么方法呢?
将样式(Styles)写在一个以.css为后缀的CSS文件里,然后在每个需要用到这些样式(Styles)的网页里引用这个CSS文件。
比如可以用文本编辑器(NotePad)建立一个叫home的文件,文件后缀不要用.txt,改成.css。文件内容如下:
H1.mylayout {border-width: 1; border: solid; text-align: center;color:red}
然后你建立一个网页,代码如下:
<HTML>
<HEAD>
<link href="../asdocs/css_tutorials/home.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY>
<H1 class="mylayout"> 这个标题使用了Style。</H1>
<H1>这个标题没有使用Style。</H1>
</BODY>
</HTML>
使用外部(Extenal)样式表,相对于内嵌(Inline)和内部式(Internal)的,有以下优点:
CSS第一个字母,是Cascading,意为串联。它是指不同来源的样式(Styles)可以合在一起,形成一种样式。
Cascading的顺序是:
样式(Styles)的优先级依次是内嵌(inline), 内部(internal), 外部(external), 浏览器缺省(browser default)。假设内嵌(Inline)样式中有font-size:30pt, 而内部(Internal)样式中有font-size:12pt,那么内嵌(Inline)式样式就会覆盖内部(Internal)样式。