很难想象,如果在一个页面里需要频繁地更替字体的颜色大小,最终生成的HTML代码的长度一定臃肿不堪。说实话,CSS就是为了简化这样的工作诞生的,当然其功能决非这么简单。
1、 主题:什么是CSS?它的能做些什么?
CSS就是一种叫做样式表(stylesheet)的技术。也有的人称之为层叠样式表(Cascading Stylesheet)。
在主页制作时采用CSS技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。
只要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,或者页数不同的网页的外观和格式。 它的作用可以达到:
(1)在几乎所有的浏览器上都可以使用。
(2)以前一些非得通过图片转换实现的功能,现在只要用CSS就可以轻松实现,从而更快地下载页面。
(3)使页面的字体变得更漂亮,更容易编排,使页面真正赏心悦目。
(4)你可以轻松地控制页面的布局 。
(5)你可以将许多网页的风格格式同时更新,不用再一页一页地更新了。你可以将站点上所有的网页风格都使用一个CSS文件进行控制,只要修改这个CSS文件中相应的行,那么整个站点的所有页面都会随之发生变动。 想一想,没有使用CSS前我们是如何控制字体的颜色和大小以及所使用的字体的?我们一般使用HTML标签来实现,例如实现右侧一个简单的"HELLO",它的代码是:
〈b〉〈font face="Arial" size="3" color="#FFFF66"〉HELLO〈/font〉〈/b〉
很难想象,如果在一个页面里需要频繁地更替字体的颜色大小,最终生成的HTML代码的长度一定臃肿不堪。
说实话,CSS就是为了简化这样的工作诞生的,当然其功能决非这么简单。
CSS是通过对页面结构的风格控制的思想,控制整个页面的风格的。
式样单放在页面中,通过浏览器的解释执行,是完全的文本,任何懂得HTML的人都可以掌握,非常的容易。生殖对一些非常老的浏览器,页不会产生页面混乱的现象。
2、 主题:式样单的例子
下面是一个式样单的例子:
===================================================================================
你好!朋友,欢迎光临阿里西西。
Hello,everybody,welcome in alixixi.com !
=================================================================================== 产生以上效果的HTML源代码是这样的:
以下是引用片段:
〈html〉
〈head〉
〈style type= "text/css"〉
〈!--
h2 { font-family: "宋体"; font-size: 12pt; font-style: italic; color: #FF0033; background-color: #FFCCCC}
h1 { font-family: "Arial"; font-size: 12pt; color: #66FF66}
--〉
〈/style〉
〈/head〉
〈body〉
〈h2〉你好!朋友,欢迎光临阿里西西。〈/h2〉
〈h1〉Hello,everybody,welcome in alixixi.com !〈/h1〉
〈/body〉
〈/html〉
下面做一些简单的说明:
(1) 在黄色的CSS语法规则中这样定义了文字的风格,标签〈h2〉...〈/h2〉间的字符为"宋体","大小12pt",字符是" 倾斜"的,颜色"#ff0033",字符背景色"#ffcccc"。同理,标签〈h1〉...〈/h1〉之间的文字字体 "arial",大小"12pt",颜色"#66ff66"。
(2)上面的CSS格式里,h1和h2称为"选择对象",font-size以及color等称为"属性",属性后面的称为"参数"。
(3) 通过css可以控制任何HTML标签的风格。例如〈td〉,〈p〉,〈body〉,〈table〉, 〈tr〉,〈th〉等。只要在HTML的〈head〉区内的〈style type="text/css"〉和〈/style〉之间指定对应标签的风格(字体,颜色,字体大小)即可,使用"宋体的9磅字体"可 非常的好看啊,许多站用的都是9pt的字体。
(4)如果你需要定义的一些标签的风格相同,可以这样做,将他们写在一起,这样又可以减少代码了:
H1, P, TD{ font-family: arial ; font-size: 12pt}
上面的代码表示:所有位于〈H1〉、〈P〉和〈TD〉标签内的字符将用Arial字体,12pt显示。
(5)通过CSS设置的风格对于javascripts输出的结果也是有效的。你可以看看javascripts脚本区的一些显示日期和当前时间脚本的例子,为了有效地控制输出的字符大小,我都使用了CSS。
(6) 注意:有的比较老的浏览器并不支持式样单语法,会将〈style type="text/css"〉...〈/style〉间的文本显示出来,若要避免这种情况的发生,最好加入〈!-- 和 --〉。这一点与javascripts相同。
(7)在〈style type="text/css"〉 中的 TYPE="text/css" 的作用是设定采用何种MIME类型,浏览器在执行到这里就知道了,这样以来,不支持CSS的浏览器可以忽略样式表。
3、 主题:使用不同的CSS写法-CSS进阶
CSS的写法可以用以下的几种方法实现:
(1)使用Embed(嵌入样式单)排版样式:
即将CSS代码直接插入每个页面的HTML的〈head〉区,就象上一节看到的。使用〈style〉...〈/style〉标签。例如:
以下是引用片段:
〈style type="text/css"〉
〈!--
h2 { font-family: "宋体"; font-size: 12pt; font-style: italic; color: #FF0033; background-color: #FFCCCC}
h1 { font-family: "Arial"; font-size: 12pt; color: #66FF66}
--〉
〈/style〉
(2)使用"link(外部样式单)排版样式":
即 你可以将多个页面的排版风格都用一个样式单文件控制。这个外部的样式单文件(一个扩展名是css的文本文件)将设定你所有网页的规则。如果你改变样式单文 件中的某行,所有页面风格用这个css文件定义的页面都会随之改变。如果你的站点文件非常多,则这项功能就非常方便了。
在〈HEAD〉区内使用〈LINK〉标签(注意:不再是〈style〉标签了):
以下是引用片段:
〈HTML〉
〈HEAD〉
〈LINK REL=stylesheet HREF= "http://yoursute.com/my.css" TYPE="text/css"〉
〈/HEAD〉
〈body〉
〈h2〉你好!朋友,欢迎光临chinahtml.com的教学区。〈/h2〉
〈h1〉Hello,everybody,welcome in chinahtml.com !〈/h1〉
〈/body〉
〈/html〉
★☆★说明:css文件的路径用绝对路径(http://...)表示或者用相对路径(例如:../csscode/my.css)表示都可以。
然后再单独生成一个css文件,叫做my.css (随便起名)。文件内容如下:
h2 { font-family: "宋体"; font-size: 12pt; font-style: italic; color: #FF0033; background-color: #FFCCCC}
h1 { font-family: "Arial"; font-size: 12pt; color: #66FF66}
只要将这个CSS文件上传到服务器指定的目录即可。
(3)使用"inline(行内样式单)排版样式":
inline样式单采用HTML标签的"style"属性,它的特点是"定义某一个标签的式样单风格",只对所定义的标签起作用,并非对整个页面起作用。例如:
〈p style="font-size: 14pt ; color: #99ff99 ; font-family: 宋体"〉层叠式样单〈/p〉
看到的效果:
层叠式样单
使用行内样式单,你必须为每行指定样式规则,否则下一行时浏览器将使用页面的缺省设置。 但是:有时候这种方式却非常有效。
(4)使用"import(输入的外部式样单)"--适用于IE浏览器。
以下是引用片段:
〈html〉
〈head〉
〈style type= "text/css"〉
〈!--
@import url(my.css);
--〉
〈/style〉
〈/head〉
〈body〉
〈h3〉输入的外部式样单〈/h3〉
〈/body〉
〈/html〉
其中my.css样式单文件的内容如下:
h3 { font-family: "宋体"; font-size: 12pt color: green }
执行的结果如下:
输入的外部式样单
4、主题:需要特别说明的一些问题--CSS进阶
★☆★CSS的继承性问题:
看了下面的例子就知道了,如果定义
h1 { color:yellow }
即,告诉浏览器将所有〈B〉标签内的文字用蓝色显示。
但是,如果使用如下的HTML语法:
〈h1〉层叠〈I〉式样单〈/I〉的例子〈/h1〉
对于〈I〉标签并没有设定样式,但因为〈I〉位于〈H1〉之中,所以它将继承〈H1〉设定的样式,也以黄色显示。
层叠式样单的例子
★☆★CSS的优先级问题:
如果混合使用三种式样单,优先级:inline 〉 embed 〉 link 式样单。
★☆★特别指定的样式单的优先级大于继承的式样,例:
以下是引用片段:
BODY { color: green }
P { color: yellow}