释义<一>
CSS(Cascading Style Sheets),即层叠样式表,与HTML超文本标记语言配合以定义网页表现的样式语言。
历史
当初一帮技术人员想出HTML,主要侧重于定义内容,比如<p>表示一个段落,<h1>表示标题,而并没有过多设计HTML的排版和界面效果。
随着Internet的迅猛发展,HTML被广泛应用,上网的人们当然希望网页做得漂亮些,因此HTML排版和界面效果的局限性日益暴露出来。为了解决这个问题,人们也走了不少弯路,用了一些不好的方法,比如给HTML增加很多的属性结果将代码变得很臃肿,将文本变成图片,过多利用Table来排版,用空白的图片表示白色的空间等。直到CSS出现。
CSS可算是网页设计的一个突破,它解决了网页界面排版的难题。可以这么说,HTML的Tag主要是定义网页的内容(Content),而CSS决定这些网页内容如何显示(Layout)。
CSS与网页的链接方法
内嵌样式(Inline Style)
内部样式表(Internal Style Sheet)
外部样式表(External Style Sheet)
内嵌样式(Inline Style)
Inline Style是写在Tag里面的。内嵌样式只对所在的Tag有效。
<P style="font-size:20ptcolor:red">这个Style定义<p></p>里面的文字是20pt字体,字体颜色是红色。</p>
显示示例
内部样式表(Internal Style Sheet)
内部样式表是写在HTML的<head></head>里面的。内部样式表只对所在的网页有效。
<HTML>
<HEAD>
<STYLE type="text/css">
H1.mylayout {border-width:1border:solidtext-align:centercolor:red}
</STYLE>
</HEAD>
<BODY>
<H1 class="mylayout">这个标题使用了Style。</H1>
<H1>这个标题没有使用Style。</H1>
</BODY>
</HTML>
显示示例
内部样式表(Internal Sytle Sheet)要用到Style这个Tag,写法如下:
<STYLE type="text/css">
......
</STYLE>
外部样式表(External Style Sheet)
如果很多网页需要用到同样的样式(Styles),用什么方法呢?
将样式(Styles)写在一个以.css为后缀的CSS文件里,然后在每个需要用到这些样式(Styles)的网页里引用这个CSS文件。
比如可以用文本编辑器(NotePad)建立一个叫home的文件,文件后缀不要用.txt,改成.css。文件内容如下:
H1.mylayout {border-width: 1border: solidtext-align: centercolor: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文件,可以被很多网页共用。
便于修改。如果要修改样式,只需要修改CSS文件,而不需要修改每个网页。
提高网页显示的速度。如果样式写在网页里,会降低网页显示的速度,如果网页引用一个CSS文件,这个CSS文件多半已经在缓存区(其它网页早已经引用过它),网页显示的速度就比较快。
解决css文件过大的问题
如果页面内容过多,css文件会很大,同样会造成很多不便,那么我们该如何解决这个问题呢?我们可以对每个细节进行css设计,比如对于字体的设置我们可以存入font.css文件,对边界等的设定我们可以存入lay.css文件,对其他一些版式的规定可以存入other.css文件,然后我们建立一个main.css文件,然后在里边写入如下代码:
@import url(font.css)
@import url(lay.css)
@import url(other.css)
然后只需要在html文件里添上main.css的链接即可,这样子一方面减小了css文件的容量,另一方面似乎也更方便管理,特别是对大型网站。
串联(Cascading)
CSS第一个字母,是Cascading,意为串联。它是指不同来源的样式(Styles)可以合在一起,形成一种样式。
Cascading的顺序是:
浏览器缺省(browser default)(优先级最低)
外部样式表(Extenal Style Sheet)
内部样式表(Internal Style Sheet)
内嵌样式表(Inline Style)(优先级最高)
样式(Styles)的优先级依次是内嵌(inline), 内部(internal), 外部(external), 浏览器缺省(browser default)。假设内嵌(Inline)样式中有font-size:30pt, 而内部(Internal)样式中有font-size:12pt,那么内嵌(Inline)式样式就会覆盖内部(Internal)样式。
CSS是Cascading Style Sheet的缩写,有些书上把它译为"层叠样式单"或"级联样式单"(下文简称"样式单"),它是一种叫做样式表(stylesheet)的技术。也有的人称之为层叠样式表(Cascading Stylesheet)。在主页制作时采用CSS技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。
只要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,或者页数不同的网页的外观和格式。
它的作用可以达到:
(1)在几乎所有的浏览器上都可以使用。
(2)以前一些非得通过图片转换实现的功能,现在只要用CSS就可以轻松实现,从而更快地下载页面。
(3)使页面的字体变得更漂亮,更容易编排,使页面真正赏心悦目。
(4)你可以轻松地控制页面的布局 。
(5)你可以将许多网页的风格格式同时更新,不用再一页一页地更新了。你可以将站点上所有的网页风格都使用一个CSS文件进行控制,只要修改这个CSS文件中相应的行,那么整个站点的所有页面都会随之发生变动。
想一想,没有使用CSS前我们是如何控制字体的颜色和大小以及所使用的字体的?我们一般使用HTML标签来实现,代码非常烦琐。
很难想象,如果在一个页面里需要频繁地更替字体的颜色大小,最终生成的HTML代码的长度一定臃肿不堪。
说实话,CSS就是为了简化这样的工作诞生的,当然其功能决非这么简单。
CSS是通过对页面结构的风格控制的思想,控制整个页面的风格的。
式样单放在页面中,通过浏览器的解释执行,是完全的文本,任何懂得HTML的人都可以掌握,非常的容易。生殖对一些非常老的浏览器,页不会产生页面混乱的现象。
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。
1.基本语法规范
分析一个典型CSS的语句:
p {COLOR:#FF0000BACKGROUND:#FFFFFF}
•其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式;
•样式声明写在一对大括号"{}"中;
•COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号""分隔;
•"#FF0000"和"#FFFFFF"是属性的值(value)。
2.颜色值
颜色值可以用RGB值写,例如:color : rgb(255,0,0),也可以用十六进制写,就象上面例子color:#FF0000。如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。
3.定义字体
web标准推荐如下字体定义方法:
body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif}
字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,;
•Lucida Grande字体适合Mac OS X;
•Verdana字体适合所有的Windows系统;
•Lucida适合UNIX用户
•"宋体"适合中文简体用户
如果所列出的字体都不能用,则默认的sans-serif字体能保证调用
4.群选择器
当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:
p, td, li { font-size : 12px }
5.派生选择器
可以使用派生选择器给一个元素里的子元素定义样式,例如这样:
li strong { font-style : italicfont-weight : normal;}
就是给li下面的子元素strong定义一个斜体不加粗的样式。
6.id选择器
用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层
<div id="menubar"></div>
然后在样式表里这样定义:
#menubar {MARGIN: 0pxBACKGROUND: #FEFEFECOLOR: #666}
其中"menubar"是你自己定义的id名称。注意在前面加"#"号。
id选择器也同样支持派生,例如:
#menubar p { text-align : rightmargin-top : 10px}
这个方法主要用来定义层和那些比较复杂,有多个派生的元素。
6.类别选择器
在CSS里用一个点开头表示类别选择器定义,例如:
.14px {color : #f60 font-size:14px }
在页面中,用class="类别名"的方法调用:
<span class="14px">14px大小的字体</span>
这个方法比较简单灵活,可以随时根据页面需要新建和删除。
7.定义链接的样式
CSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:
a:link{font-weight : bold text-decoration : none color : #c00 }
a:visited {font-weight : bold text-decoration : none color : #c30 }
a:hover {font-weight : bold text-decoration : underline color : #f60 }
a:active {font-weight : bold text-decoration : none color : #F90 }
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。