字体属性 1、font-family ×能:用于改变HTML标志或元素的字体,你可设置一个可用字体清单。浏览器由前向后选用字体。 语×:{font-family:字体1,字体2, ... ,字体n} 2、font-style ×能:使文本显示为扁斜体或斜体等表示强调 。 数值: normal - 正常 italic - 斜体 oblique - 偏斜体 3、font-variant ×能:用于在正常与小型大写字母字体间切换。 数值:normal - 如果该标志继承父元素的 small-caps 设置,则关键字 normal 将 font-variant 设置为正常字体。 small-caps - 把小写字母显示为字体较小的大写字母。 4、font-weight ×能:用于设置字体灰度,生成字体的深,浅版本。 数值: 正常灰度 - normal 相对灰度 - bold, bolder, light, lighter 梯度灰度 - 取值如下:100, 200, 300, 400(相当于normal), 500, 600, 700(相当于bold), 800, 900。 5、font-size ×能:用各种度量单位控制文本字体大小。 数值:有四种数值方式 绝对尺寸- 用具体字号表定义字体大小,可以取下列数值之一:xx - small, x-small, small, medium, large, x-large, xx-large。不同字体有不同的数值。 相对尺寸 - larger, smaller,产生的尺寸是相对于父容器字号而言的。 长度 - 用毫米(mm),厘米(cm),英寸(in),点数(pt),象素(px),pica(pc),ex(小写字母x的高度)或em(字体高度)作为度量单位。 百分比 - 相对于其父元素字体大小的百分比。 6、font ×能:简写属性,提供了对字体所有属性进行设置的快捷方×。 语×:{font:字体属性1 字体属性2 ... 字体属性n} 数值:字体属性值为前面已列出的值,此外还可以设置行间距属性 line-height(见文本属性),内容的顺序为:font-style; font-variant; font-weight; font-size; line-height; font-family。可省略部分属性,属性值间用空格分开。 例子: 让字体美起来 你可能正建立自己在网上的家-WEB页,又或者它已经被你安置在网络某一角里。无论出于什么目的,你都希望有更多的指导,告诉你该如何更好的布置家。 在目前许多的指导中,他们都在诉说,应该加一点声音或者一个说话的场地。的确我们都需要它,但我希望关心更多WEB家里底层的东西,比如如何把字体弄的漂亮些,或者让页面颜色变的活泼些,让访问者增加“看欲”,还有更多你曾经都没有关注的细微之处。今天,我们首先来探讨页面的字体。 一、html中定义字体 字体的确是很好打交道的,一开始制作页面,它就以默认的样式显示。随着逐步的深入,你会改变一下默认的设置,增大或者减小字体。 一般字体默认的标签格式:<p>田涛</p> 接下来,我们把字体设置为黑体或者宋体字样式,它的标签如下: <p><font face="黑体">田涛</font></p> 在以上格式里,我们引出了字体的标签元素<font></font>.该标签具有下面三个属性值: size="..." 设置字体的大小,一般从1到7,它的默认值是+3,每次改变字体都是+3或者-3。 color="..." 字体颜色的设置。定义颜色可以利用RGB的16进制值,比如: color=“#ffffff” 。也可以直接利用颜色英文来定义,比如: color=“white” face="..." 字体样式的设置,比如:face=“黑体”。或者 face=“黑体,宋体”。后者的格式,每当浏览器访问第一种字体失败后,浏览器就会访问第二种字体,依此类推。 下面是一个完整的字体格式: <font face="黑体" size="2" color="#FFFFFF">田涛</font> HTML还提供了以下字体样式标签: 1.六个标题样式 从h1到h6,如:<h1><font face="黑体" size="2">田涛</font></h1> 2.字体风格 斜体字:<em>田涛</em> 粗体字:<strong>田涛</strong> 斜体+粗体字:<strong><em>田涛</em></strong> 3.定义文本 定义大字体 <big>田涛</big> 定义小字体 <small>田涛</small>或者<small><small><small>田涛</small></small></small> 如果你在字体标签中设置了size="...",那么<big>标签将不起作用。 除了以上常用字体标签元素外,HTML还包含很多其它标签,但不我们不多用。 二.CSS(层叠样式表)改变字体 在过去页面上的字体是一成不变的,静静的呆在那。当DHTML(动态网页)出现后,我们能有更多方式控制字体了。一般来说,动态字体的实现核心是CSS(层叠样式表)加JavaScript。使用了以上两项技术后,字体就能产生许多变化。 1.CSS定义字体的标签元素 font-family: 设置字体字族。 <span style="font-family: 黑体, 宋体(GB)">田涛</span> font-sytle:设置字体类型。 <span style="font-style: normal">田涛</span> font-weight:设置字体的字重。 <span style="font-weight: bold">田涛</span> font-size:设置字体大小。 <span style="font-size: 14pt">田涛</span> font-decoration:修饰文本字体,比如带下划线“underline”。 <span style="text-decoration: underline">田涛</span> 对于以上的字体设置,我们可以采用一个方便的方×: <span style="font:normal bold 14pt 黑体">田涛</span> 在style定义的次序是:font-style,font-weight,font-size,font-family. 2.CSS定义字体和<font>定义字体的冲突 对于CSS定义字体和<font>定义字体,我们都要注意以下问题,比如有以下字体设置: <span style="font-family: 宋体(KSC); font-size: 200pt"><font>田涛</font></span> 这时侯字体大小将以font-size: 200pt的定义来设置。但如果你在<font>中加入size属性,比如: <span style="font-family: 宋体(KSC); font-size: 200pt"><font size="5">田涛</font></span> 这时侯,字体的大小以size的设置为准,font-size: 200pt将不起作用。其它的属性也是一样。如果你无需动态字体,就利用HTML4.0的<font>来定义字体,需要动态字体时,就需要使用CSS和JavaScritp来定义字体及引发事件。 3.定义CSS字体属性类 一般我们在制作动态字体时,我们会首先利用CSS定义出页面字体的整个属性,然后在页面中引用,而不用对每段文本进行设置,这也是实现动态字体首先一步。 <html> <head> <style type="text/css"> .tt2 { font-family:"黑体"; font-size: 16px; font-style: normal; line-height: 17px } </style> </head> <body> <p class="tt2">田涛</p> </body> </html> 在以上代码中,“田涛”两个字引用了.main_2类定义的字体样式。当然你可以在<style></style>中定义不同的字体样式,以便页面中根据不同字体加以引用。比如: <html> <head> <style type="text/css"> .tt1 { font-family:"宋体"; font-size: 15px; font-style: normal; } .tt2 { font-family:"黑体"; font-size: 16px; font-style: normal; } </style> </head> <body> <p class="tt1">田涛</p> <p class="tt2">田涛</p> </body> </html> 三.让字体动起来 要让字体动起来,我们可以利用本身CSS的事件或者让JavaScript引发事件。 1.CSS引发事件 例一 <html> <head> <style type="text/css"> <!-- a:link { color: black; text-decoration: none} a:visited { color: white; text-decoration: none} a:hover { color: blue; text-decoration: underline} --> </style> </head> <body> <p><a href="http://zgrtt.yeah.net/">田涛</a></p> </body> </html> link定义的是链接在页面显示的颜色(黑色)及链接没有下划线,visited定义的是单击链接后的颜色(白色),hover定义的是指向链接时的动态颜色。以上实例表示,当指向链接“田涛”后字体颜色从黑色变成蓝色,并加下划线,单击链接后,链接颜色变成白色。 例二 <html> <head> <title></title> </head> <body> <p οnmοuseοver="this.style.fontSize=200" οnmοuseοut="this.style.fontSize=100">田涛 </p> </body> </html> 以上实例是利用内联改变字体样式,当鼠标指向“田涛”时字体因为定义了this.style.fontSize=200,这两个字放大至200pt,当鼠标移开“田涛”时,因定义了this.style.fontSize=100,这两个字体缩小到100pt. 2.JavaScript引发事件 <html> <head> <style> H1.italic {font-style:italic} H1.bold {font-style:bold; } </style> </head> <body> <script language="JavaScript"> function changeHead() { if (H1_1.className=="bold") { H1_1.className="italic" } else { H1_1.className="bold";} } </script> <h1 id="H1_1" class="bold" οnmοuseοver="changeHead()" οnmοuseοut="changeHead()">田涛 </h1> </body> </html> 在上面的实例当中,我们首先定义了两个CSS类H1.italic和H1.bold,然后利用JavaScript脚本定义函数 changeHead(),最后在需要的地方引发事件执行定义好的函数。这里我们引发了两个单击事件onmouseover和onmouseout。在这里我还要说一点,因为你定义了H1两个类H1.italic 和H1.bold,所以当你在引用时,要首先设置class="bold",表示字体以bold样式出现。然后,移动鼠标到“田涛”上,触发了事件一,移开“田涛”时,触发了事件二。 对于动态字体,我们还有很多方×来完善它。只是在考虑利用动态字体时,需要了解不同浏览器会产生不一样的结果。这时侯,就需要不停测试,来找到一个两全其美的方×。最后,希望你在看完这篇文章后,找一点CSS及JavaScript的资料来看,因为它们才是实现所有“梦想”的工具。 |
CSS应用小技巧十四例 CSS是Cascading Style Sheets的简称,中文译作“层叠样式表单”,我把它叫作“层叠样式表”,我感到这样顺口一点,没别的意思。实际上它是一组样式。你可能对CSS这个名词比较陌生,实际上无论你用Internet Explorer还是Netscape Navigator在网上冲浪,几乎随时都在与CSS打交道,在网上没有使用过CSS的网页可能不好找。不管你用什么工具软件制作网页,都有在有意无意地使用CSS。用好CSS能使你的网页更加简炼,为什么同样内容的网页,有的人做出来有几十KB,而高手做出来只有十几KB,CSS在其中的作用是不言而喻的。我把我在使用CSS中的一些小经验以及一些网友来信提问的问题整理出来,供诸位参考。 1、CSS在网页制作中一般有三种方式的用×,那么具体在使用时该采用哪种用×? 当有多个网页要用到的CSS,采用外连CSS文件的方式,这样网页的代码大大减少,修改起来非常方便;只在单个网页中使用的CSS,采用文档头部方式;只有在一个网页一、两个地方才用到的CSS,采用行内插入方式。 2、CSS的三种用×在一个网页中要以混用吗? 三种用×可以混用,且不会造成混乱。这就是它为什么称之为“层叠样式表”的原因,浏览器在显示网页时是这样处理的:先检查有没有行内插入式CSS,有就执行了,针对本句的其它CSS就不去管它了;其次检查头部方式的CSS,有就执行了;在前两者都没有的情况下再检查外连文件方式的CSS。因此可看出,三种CSS的执行优先级是:行内插入式、头部方式、外连文件方式。 3、在Dreamweaver3中如何使外部文件式CSS? 在Dreamweaver3中使用外连文件式CSS并没有特殊要求,同样是用记事本创建一个*.css文件,在网页的〈head〉与〈/head〉之间加上一句这样的代码:〈link rel="stylesheet" href="在这里填上你的CSS文件地址(相对路径+文件名)" type="text/css"〉 就行了。 4、如何用Dreamweaver3快速创建CSS外连式文件? 对于一个初接触CSS的网页设计人员来讲,要用记?嗟谋嗉鳎ゴ唇ㄒ桓鯟SS外连式文件是相当困难的。由于Dreamweaver3对CSS支持的很好,用它来帮助就轻松多了。具体可以这样*作: 1)先在纸上写好在网站的网页中可能要用到的格名称,然后在Dreamweaver3的编辑窗中调出CSS面板,一个一个地定义,并在一个空白页上适当地写一点相关内容,边定义边试用,效果不满意,立即修改; 2)全部定义好后,再用记事本创建一个空的CSS外连式文件,把在〈head〉与〈/head〉之间的那段定义好的CSS复制到CSS文件中去,就大×告成了。整个过程就是点鼠标,方便吧? 5、在Dreamweaver3中采用行内插入式CSS要手动写代码吗? 不用!先用CSS面板定义好要用的CSS,然后,在要插入CSS的标记插入:style="",再把你刚才定义的CSS从〈head〉后面拖到这个双引号中来,把花括号以外的部分删去就行了。 6、在方档头部方式和外连文件方式的CSS中都有“〈!--”和“--〉”,好象没什么用,不要可以吗? 这一对东东的作用是为了不引起低版本浏览器的错误。如果某个执行此页面的浏览器不支持CSS,它将忽略其中的内容。虽然现在使用不支持CSS浏览器的人已很少了,由于互联网上几乎什么可能都会发生,所以还是留着为妙。 7、如何给一部分文字加背景色? 给文字加上不同颜色,在DW3中只要在属性面板上选取文字的颜色就行了,非常方便,但要给部分文字加不同的背景色却没有相应的×能,我们可以先做一个定义背景色的CSS(如:bgstyle),在DW3中点几下鼠就完成了。如一个定义淡黄色背景的CSS是这样的: 〈style type="text/css"〉 〈!-- .bgstyle { background: #FFFFCC} --〉 〈/style〉 在要用时选取那段文字,再在CSS面板上点一下“bgstyle”就行了。 8、如何给部分文字加背景图像? 与加背景色*作类似,中是在背景在选择加载图象就是了,一个定义好的加背景图象的CSS例子的代码是这样的: 〈style type="text/css"〉 〈!-- .imgbgstyle { background-image: url(logo.gif)} --〉 〈/style〉 在要用时选取那段文字,再在CSS面板上点一下“imgbgstyle”就行了。 9、如何使页面的背景在文字“滚动”时背景图案静止不动? 要使背景图案不随文字“滚动”的CSS是这样的: 〈style type="text/css"〉 〈!-- BODY { background: purple url(bg.jpg); background-repeat:repeat-y; background-attachment:fixed } --〉 〈/style〉 10、如何定义字间距? 在DW3中CSS的属性定义对话框(Style Definition for .style1)的“Block”上的“letter spaceing”属性定义的就是字间距,它指的是每一个字符之间的额外间距,经长度为单位,正负值均可,当取负值时产生字符挤在一起的效果。下面代码是一个定义好的字间距CSS例子: 〈style type="text/css"〉 〈!-- .style1 { letter-spacing: 3px} --〉 〈/style〉 11、如何给文字加上划线、下划线、删除线和闪烁? 在DW3中CSS的属性定义对话框(Style Definition for .style1)的“Type”上的“decoration”属性定义的就是这些内容,要注意的是闪烁属性有些版本的浏览器不支持,少用为好。下面是一个定义好上述效果的CSS例子: 〈style type="text/css"〉 〈!-- .style1 { text-decoration: underline overline line-through blink} --〉 〈/style〉 其中: “underline”是定义下划线;“overline ”是定义上划线;“ line-through”定义的是删除线;“blink”定义的是文字闪烁。 12、如何使网页具有“首行缩进”×能? 由于DW3输入空格不方便,利用“首行缩进”将弥补这个不足。在DW3中CSS的属性定义对话框(Style Definition for .style1)的“Block”上的“text-indent”属性定义的就是“首行缩进”,所谓“首行”是指每段内容的第一行,也就是直接按回车键就形成了一个新的段落。缩进最好以“em”(字符)为单位,比如:汉字编排要求每段开始缩进两个汉字,设置好的CSS如下所示: 〈style type="text/css"〉 〈!-- .style1 { text-indent: 2em} --〉 〈/style〉 在DW3要注意:在DW3中CSS的属性定义对话框(Style Definition for .style1)的“Block”上的“text-indent”右面的缩进单位选择框中“ems”指的就是“em”。 13、在用表格进行排版时,能使某一方向上的内容离开表格线一点吗? 可以!在DW3中CSS的属性定义对话框(Style Definition for .style1)的“Box”上的“margin”定义的就是内容离开边缘的距离,分别可定义四个方向:“top”“bottom”“left”“right”。下面就是定义在左边离开“10px”的CSS例子代码: 〈style type="text/css"〉 〈!-- .style1 { margin: 0px 0px 0px 10px} --〉 〈/style〉 14、能给某部分内容加边框吗? 用CSS可以给某部分内容加边框,在DW3中CSS的属性定义对话框(Style Definition for .style1)的“Border”定义的就是边框线,“top”“bottom”“left”“right”四边可分别定义线的粗细和颜色,这些定义好后不要忘记在下面的“Style”中定义线型,否则将看不边框线,因为默认的线型是“none”。下面是一个定义了上边框为:蓝色细线;左边框为:绿色中粗线的CSS例子: 〈style type="text/css"〉 〈!-- .style1 { border: solid; border-width: thin 0px 0px medium; border-color: #0000FF black black #00FF00} --〉 〈/style〉 |
CSS2 快速参考 CSS2 快速参考 编译/周晓阳 CSS2 快速参考之一 自W3C(The World Wide Web Consortium)制定了代号为Cougar的HTML的4.0版本以来,存在在Web页面中的动态效果首次被正式的承认了,W3C把动态超文本(Dynamic HTML)的实现分为了三个部分:脚本、支持动态效果的浏览器和CSS。前两者也许你经常用到,但CSS是什么或许你并不清楚,如果有过制作Web页面的经历,你可能听说过样式单或风格单,如果对此你亦无耳闻,不要紧,只要你想制作出具有更多新特性的W eb页,本文将同样适合于你。 一、什么是CSS? CSS是Cascading Style Sheet的缩写,有些书上把它译为“层叠样式单”或“级联样式单”(下文简称“样式单”),在1997年W3C颁布HTML4标准的同时也公布了有关样式单的第一个标准CSS1。样式单是对以前的HTML(3.2以前的H TML版本)语法的一次重大革新,以前的HTML版本中,各种功能的实现是通过标记元素实现的,这也造成了各个浏览器厂商为了标新立意创建各种只有自家支持的标记,各种标记互相嵌套,就可以达到不同的效果,比如要在一段文字中把一部分文字变成红色,H TML3.2中应该是这样的: <p><font color=red>这里显示红色字</font></p> 而在样式单中,把某些标记(如上例中的“font”标记)属性化,利用样式单,上例可以变成: <p style="color:red">这里显示红色字</p> 这就是样式单的全部功能吗?远远不是!前面说过样式单是DHTML的一部分,建立样式单的真正意义在于把对象真正引入了HTML,使得可以使用脚本程序(如Javascript、VBScript)调用对象属性,并且可以改变对象属性,达到动态的目的,这在以前的H TML中是无法实现的,如果你使用过如VB等面向对象的编程工具,你会更快的发现,用样式单做DHTML是多么容易。样式单的另一项贡献是简化了HTML中各种繁琐的标记,使得各个标记的属性更具有一般性和通用性,并且样式单扩展了原先的标记功能,能够实现更多的效果,样式单甚至超越了W eb页面的本身显示功能,而把样式扩展到多种媒体上,显示了难以抗拒的魅力。 样式单自从CSS1的版本之后,又在1998年5月发布了CSS2版本,样式单得到了更多的充实。Internet Explorer4和Netscape Navigator4都宣传支持样式单,但从各方面来看IE4的效果都要超过NE4,这是因为IE4和NE4的Javascript文档模型(DOM)不同而造成的,从表面看,二者的模型区别不大,但实质上却是大相径庭,IE4的模型能够更加容易的把动态效果引入W eb页面,虽然现在IE4的模型只有微软自己支持,但它却已被清楚的写入了W3C的DHTML标准;而NE4的样式单并不能通过脚本调用对象的属性,说的不好听一点,它的样式单只是徒有其表罢了。(Netscape公司自己开发了一种样式单称作J SSS,它利用Javascript来定义样式,但是并没有得到W3C的承认。) 二、进一步了解样式单 Cascading Style Sheet中的Cascading是“层叠”的意思,也就是说在同一个Web文档中可以有多个样式单存在,这些样式单根据所在的位置,拥有不同的优先级,优先级越高,就会被最后在显示时采用。从样式单插入的形式来看可以分为三种: 内联式样式单:它利于现有的HTML标记,把特殊的样式加入到那些由标记控制的信息中,比如刚才的例子。 嵌入式样式单:它和Javascript一样可以嵌入到HTML文件的头部中去(<html>和<body>标记之间),使用<Style>和</Style>容器装载,例如:“<style> p {color : red ; font-weight : bold} </style>”,这样会对页面中所有<p>标记都起作用。 外部式样式单是一种保存在外部的样式单文件,外部文件以.CSS为扩展名,例如“<link rel=stylesheet href=”main-sheet.css” type=”text/css”>”。 在应用时可以根据需要随意运用以上三种方式,但在实际中内联式样式单和嵌入式样式单使用得更多一些。 三、样式单的语法特征 样式单有自己独特的书写方法,掌握了它的语法特征,再了解它的各种属性,那么你会发现在Web页面中运用样式单会是多么轻松。例如有一个最简单的HTML文档: <html> <body> <p>Text goes here…<p> </body> </html> 我们可以用嵌入式样式单规定样式。 <html> <style> <!-- p {color:red; font-weight : bold} - -> </style> <body> <p>这里显示红色字</p> </bdoy> </html> 可以看到,在这个文档里,多了“Style”标记,之间用<!-- ……… - ->注释,以防止不能识别样式单的浏览器把样式单当作内容显示出来,然后是关键的一句: p {color:red;font-weight : bold } 这整行称为一个声明(Statement),在样式单中,声明分为两种,一种是象这样的,叫做“rule set”,另一种则称为“at-rule”。 At-rule以“@”作为关键字,放在元素的最前面,at-rule通常用来对媒体(Media)的声明,并且如果对同一个at-rule进行声明,那么只有位置靠前的会起到作用,如: @import "subs.css" H1 {color:blue} @import "list.css" 后一个At-Rule无效。 而rule set就象我们前面看到的样子了,它由几个部分组成,其中包括选择器、属性和属性值。一般的书写是这样的: Selector1 {property1:value1; property2:value2;……} Selector2 {……} 其中刚才例子中的“P”代表段落标记元素,为选择器,“{}”为一个块(Block),表示对标记属性的声明(Declaration),有多个属性的时候使用“;”隔开,属性在样式单中的一般表示方法是前面是一类属性的名称,后面是具体属性的名称,中间用“- ”隔开,而在脚本中使用属性的时候,则把“-”去掉,并把第二部分的开头字母大写。属性值的表示可以使用10进制,16进制数值(如#FFFFFF),百分数(如100%),字符串,URL(如url(http://www.m ysite.com))和RGB(如rgb(255,255,255))等多种方式表示。下面我将对其中的重点部分进行更详细的解释: 1、选择器(Selector) 选择器不只是文档中的元素标记,它还可以是类(Class,这不同于Java或C++中的类)、ID(给予元素特殊的名称,也便于在脚本中使用)或是元素的某种状态(如:a:link)。如: <html> <style> <!-- p {color:red;font-weight : bold } .bigFont {font-size:200%} #blueBack {background-color:blue;color:yellow} --> </style> <body> <p>利用<span class="bigFont">Class</span>和<span id="blueBack">ID</span>显示内容。</p> </body> </html> 其中.someclass代表类,#someID代表ID。类和ID也可以和元素标记合用,比如: p.bigFont {……} 则表示必须在某个为bigFont类的P标记(<p class="bigFont">)才执行样式单,同样的也适合于ID。 为了简化声明某些重复属性的标记,可以用“,”把不同的选择器隔开,表示它们都表示成相同的属性,如: H1,H2 {color:red} Div, p.mytext {……} 有时我们还希望能够在特定的范围内使样式单生效: p em {color:red} 元素标记间又空格隔开,表示在<p>和</p>间的<em>、<em>用红色表示。另外还可以利用“~”表示一个选择器后面紧跟另一个选择器,并且两边以“/”围住: / Selector1 ~ Selector2/ {……} 表示如果Selector2紧跟着Selector1则使用该样式单。 2、属性值的单位 在样式单中,属性的单位多为长度单位,包括px(象素)、pt(磅)、em(一种排版中的单位,1em=12pt)、mm(毫米)、cm(厘米)、pc(1pc=12pt)、in(英寸),这些单位可以使用整数(如px)表示,也可以使用实数(如e m)表示,并且元素中对数值还有继承(inherit)的关系比如: body {font-size:12pt; text-indent:3em; } H1 {font-size:15pt} 那么在显示中H1的text-indent属性就不是36pt而是45pt。 有的属性的单位甚至可以是负值,如margin,可以达到一些特殊的效果,如元素之间的重叠。 另外还有一些其他的单位如角度,它的单位有deg(度)、grad(梯度)和rad(弧度);频率的单位,Hz和kHz,这些都是我们非常熟悉的。 3、注释及空格 样式单也有注释语句:可以用“/*……*/”作为注释标记,在浏览器中有一个对样式单的分析器,它负责对样式单的检查,分析器将忽略注释标记之间的内容。空格在样式单中是有效的,如果字符之间有超过一个空格存在,它将省略其余空格,而只保留一个,特别是在声明某些字体的时候,空格一定不能省略。  要注意的方面 首先,样式单是区分大小写的,所以要注意拼写;其次对于CSS2未声明的属性和方法,样式单的分析器会忽略它的存在,如: H1 ,H2 {color:green} H3 ,H4 & H5 {color:red} P {color:blue ;font-variant:small-caps} 其中“&”是样式单中没有的标号,第二行整个被分析器略过,第三行中的font-variant不是一个合法属性,也被略过(“color:blue”有效)。 了解了以上规则,你就已经对样式单入门了,下面我将详细介绍样式单的各种属性及属性值。 CSS2快速参考之二 关键词:其他 四、CSS属性: 1、媒体(Media)类型 样式单的一个最重要的特点就是它可以作用于多种媒体,比如页面、屏幕、电子合成器等等。特定的属性只能作用于特定的媒体,如“font-size”属性只对可卷动的媒体类型有效(屏幕)。 声明一个媒体属性可以用@import或@media引入: @import url(loudvoice.css) speech; @media print { /* style sheet for print goes here */ } 也可以在文档标记中引入媒体: <LINK rel="stylesheet" type="text/css" media="print" href="foo.css"> 可以看出,@import和@media的区别在于,前者引入外部的样式单用于媒体类型,后者直接引入媒体属性。@import的使用方法是@import加样式单文件的URL地址再加媒体类型,可以多个媒体共用一个样式单,媒体类型之间用“,”分割符分开。@ media用法则是把媒体类型放在前面,其他规则和rule-set基本一样。下面列出各种媒体类型: SCREEN:指计算机屏幕。 PRINT:指用于打印机的不透明介质。 PROJECTION:指用于显示的项目。 BRAILLE:盲文系统,指有触觉效果的印刷品。 AURAL:指语音电子合成器。 TV:指电视类型的媒体。 HANDHELD:指手持式显示设备(小屏幕,单色) ALL:适合于所有媒体。 2、BOX模型(BOX Model)属性 什么是BOX?CSS把HTML中以<somesign>……</somesign>的部分称为BOX(容器),BOX有三类属性:padding、margin和border。 Margin属性: Margin属性分为margin-top、margin-right、margin-bottom、margin-left和margin五个属性,分别表示BOX里内容离边框的距离,它的属性值是数值单位,可以是长度、百分比或auto,margin甚至可以设为负值,造成B OX与BOX之间的重叠显示,关于margin的属性详见下表: 属性名称: 'margin-top'、'margin-right'、'margin-bottom'、'margin-left' 属性值: <margin-width> 初始值: 0 适合对象: 所有元素 是否继承: no 百分比备注: 相对于BOX的宽度 例如: H1 { margin-top: 2em } H2 { margin-right: 12.3% } Margin还有一个快捷的书写方法,就是直接用margin属性,例如: BODY { margin: 1em 2em 3em 2em} 等同于: BODY { margin-top:1em; margin-right:2em; margin-bottom:3em; margin-left:2em; } margin属性后面可以有四个值,中间用空格隔开(记住不是逗号),顺序是“上右下左”,当然margin后面可以不足四个值,例如: BODY { margin: 2em } /* 所有的margin都设为2em */ BODY { margin: 1em 2em } /* 上下margin为1em,右左margin为2em */ BODY { margin: 1em 2em 3em } /* 上margin为1em,右左margin为2em,下margin为3em*/ Padding属性: Padding属性用来描述BOX的边框和内容之间插入多少空间,和margin属性类似,它也分为上右下左和一个快捷方式padding,关于margin的属性详见下表: 属性名称: 'padding-top'、'padding-right'、'padding-bottom'、'padding-left' 、'padding' 属性值: <padding-width> 初始值: 0 适合对象: 所有元素 是否继承: no 百分比备注: 相对于BOX的宽度 例如: BLOCKQUOTE { padding-top: 0.3em } padding属性和margin类似此处略去。 Border属性: 平时我们在查看HTML文档时,看到一段文字,并不会把它当作一个BOX,实际上BOX是有边框的,只是平时不显示出来罢了,而border属性就是用来描述BOX边框的。Border属性分为border-width、border-co lor和border-style,而这些属性下面又有分支。 border-width属性: border-width属性又分为:border-top-width、border-right-width、border-bottom-width、border-left-width和border-width属性,border-width用长度表示为“thin/medium/thick”或长度单位表示,下面是b order-width属性的详细列表: 属性名称: 'border-top-width'、'border-right-width'、'border-bottom-width'、'border-left-width'、'border-width' 属性值: <border-width> 初始值: medium 适合对象: 所有元素 是否继承: no 百分比备注: 被禁止 border-width为快捷方式,顺序为上右下左,值之间用空格隔开。 border-color属性: border-color属性用来显示BOX边框颜色,分为border-top-color、border-right-color、border-bottom-color、border-right-color和border-color属性,属性值为颜色,可以用十六进制表示,也可用rg b()表示,属性见下: 属性名称: 'border-top-color'、'border-right-color'、'border-bottom-color'、'border-left-color'、 'border-color' 属性值: <color> 初始值: 元素颜色的初始值 适合对象: 所有元素 是否继承: no 百分比备注: 被禁止 border-color为快捷方式,顺序为上右下左,值之间用空格隔开。 border-style属性: border-style属性用来设置BOX对象边框的样式,它的属性值为CSS规定的关键字,平常看不到border是因为,初始值是none的缘故。属性见下: 属性名称: 'border-top-style'、'border-right-style'、'border-bottom-style'、'border-left-style'、'border-style' 属性值: <border-style> 初始值: none 适合对象: 所有元素 是否继承: no 百分比备注: 被禁止 border-color为快捷方式,顺序为上右下左,值之间用空格隔开。 属性值的名称和代表意义如下: none:无边框。 dotted:边框为点线。 dashed:边框为长短线。 solid:边框为实线。 double:边框为双线。 groove、ridge、inset和outset:显示不同效果的3D边框(根据color属性)。 border属性: border属性为Border的快捷方式,属性值间用空格隔开,顺序是“边框宽度 边框样式 边框颜色”,例如: <h1 style="border:.5em outset red">hello!</h1> 还可以用border-top、border-right、border-bottom、border-left分别作为上右下左的快捷方式,属性值顺序同border属性。 CSS2快速参考之三 关键词:其他 3、布局(Layout)属性: 在以前的HTML里,元素的位置只能靠元素的依次排列觉得,而在CSS里你可以更精确的定位元素。Netscape曾提出过Layer标记,它对于精确布局很有好处,但是并没有被W3C承认,W3C在CSS提出了类似于Lay er标记的功能。 position属性: position属性用来决定元素的位置类型,详见属性: 属性名称: 'position' 属性值: absolute │ relative │ static 初始值: static 适合对象: 所有元素 是否继承: no 百分比备注: 被禁止 其属性值分别代表: absolute:屏幕上的绝对位置。 relative:屏幕上的相对位置。 static:固有位置。 direction属性: direction属性决定BOX的排列方向,详见属性: 属性名称: 'direction' 属性值: ltr│ rtl 初始值: ltr 适合对象: 所有元素 是否继承: yes 百分比备注: 被禁止 float和clear属性: 在HTML中图片可以选择飘浮的位置,现在BOX对象通过CSS对于也可以选择飘浮的位置。改变BOX的float属性,BOX将飘浮在其他元素的左或右方: 属性名称: 'float' 属性值: left│ right│none 初始值: none 适合对象: 所有元素 是否继承: no 百分比备注: 被禁止 例如: <STYLE type="text/css"> IMG { float: left } BODY, P, IMG { margin: 2em } </STYLE> <BODY> <P> <IMG src=img.gif> Some sample text that has no other... </BODY> 相反的,使用clear属性将禁止元素在BOX的左方或右方飘浮: 属性名称: 'clear' 属性值: left│ right│both│none 初始值: none 适合对象: 所有元素 是否继承: no 百分比备注: 被禁止 绝对位置属性: 绝对位置属性有四个属性:top、right、bottom和left,属性值为长度单位或百分数: 属性名称: 'top'、'right'、'bottom'、'left' 属性值: <length>│<percentage>│auto 初始值: none 适合对象: 所有元素 是否继承: no 百分比备注: 被禁止 利用以上属性,用户就可以精确定义元素的位置,如: <P style="position: relative; margin-right: 10px; left: 10px;"> I used two red hyphens to serve as a change bar. They will "float" to the left of the line containing THIS <SPAN style="position: absolute; top: auto; left: 0px; color: red;">--</SPAN> word.</P> z-index属性: 在CSS中允许元素的重叠显示,这样就有一个显示顺序的问题,z-index属性描述了元素的前后位置,如果把电脑屏幕看作X-Y平面的话,那么Z轴就是垂直于屏幕的,z-index使用整数表示元素的前后位置,数值越大,就会显示在相对靠前的位置,并且C SS同意在z-index中使用负数。 属性名称: 'z-index' 属性值: auto│<integer> 初始值: auto 适合对象: 使用position属性的元素 是否继承: no 百分比备注: 被禁止 width属性: 规定BOX的width属性,可以使BOX的宽度不依靠它所包含的内容的多少: 属性名称: 'width' 属性值: <length> │ <percentage> │ auto 初始值: auto 适合对象: 块元素 是否继承: no 百分比备注:根据父元素的width而定 在CSS中还提供了min-width和max-width属性,使得BOX的宽度在最小宽度和最大宽度之间。 属性名称: 'min-width' 属性值: <length> │ <percentage> 初始值: 0 适合对象: all 是否继承: no 百分比备注:根据父元素的width而定 属性名称: 'max-width' 属性值: <length> │ <percentage> 初始值: 100% 适合对象: all 是否继承: no 百分比备注:根据父元素的width而定 height属性: 相同的BOX还有height属性来控制本身的高度: 属性名称: 'height' 属性值: <length> │ <percentage> │ auto 初始值: auto 适合对象: 块元素 是否继承: no 百分比备注:根据父元素的height而定 在CSS中还提供了min-height和max-height属性,使得BOX的高度在最小高度和最大高度之间。 属性名称: 'min-height' 属性值: <length> │ <percentage> 初始值: 0 适合对象: all 是否继承: no 百分比备注:根据父元素的height而定 属性名称: 'max-height' 属性值: <length> │ <percentage> 初始值: 100% 适合对象: all 是否继承: no 百分比备注:根据父元素的height而定 overflow属性: 在规定元素的宽度和高度时,如果元素的面积不足以显示全部内容的话就要用到overflow属性: 属性名称: 'overflow' 属性值: visible │ hidden │ scroll │ auto 初始值: visible 适合对象: 元素的position属性 是否继承: no 百分比备注: 被禁止 属性值含义如下: visible:扩大面积以显示所有内容。 hidden:隐藏超出范围的内容。 scroll:在元素的右边显示一个滚动条。 auto:当内容超出元素面积时,显示滚动条。 clip属性: CSS还提供了一种clip属性,可以把元素区域剪切成各种形状,但目前提供的只有方形一种: 属性名称: 'clip' 属性值: <shape> │ auto 初始值: auto 适合元素: 元素的position属性被设为absolute 是否继承: no 百分比备注: 被禁止 <shape>值为rect(top right bottom left)。 line-height和vertical-align属性: line-height属性可以规定元素内部的行间距,使用长度单位或百分数: 属性名称: 'line-height' 属性值: normal │ <number> │ <length> │ <percentage> 初始值: normal 适合对象: 所有元素 是否继承: yes 百分比备注:根据元素的字体大小而定 例如下面的例子,虽然表达方式不同,但结果一样: DIV { line-height: 1.2; font-size: 10pt } DIV { line-height: 1.2em; font-size: 10pt } DIV { line-height: 120%; font-size: 10pt } vertical-align属性决定元素在垂直位置的显示: 属性名称: 'vertical-align' 属性值: baseline │ sub │ super │ top │ text-top │ middle │ bottom │ text-bottom │ <percentage> │ <length> 初始值: baseline 适合对象: inline elements 适合继承: no 百分比备注: 根据元素的line-height属性而定 属性值含义如下: baseline:与元素的基线对齐。 middle:与元素中部对齐。 sub:字下沉。 super:字上升。 text-top:文本顶部对齐。 text-bottom:文本底部对齐。 Top:和本行位置最高元素对齐。 Bottom:和本行位置最低元素对齐。 Visibility属性: 该属性用于控制元素的显示或隐藏: 属性名称: 'visibility' 属性值: inherit │ visible │ hidden 初始值: inherit 适合对象: 所有元素 是否继承: 如果该值为inherit,则继承父元素属性 百分比备注: 被禁止 4、颜色和背景(Color and Background)属性: 这里介绍有关CSS中前景色和背景颜色、图片的设定方法。 color属性: color属性用于设定元素的前景色: 属性名称: 'color' 属性值: <color> 初始值: 根据用户的初始值而定 适合对象: 所有元素 是否继承: yes 百分比备注: 被禁止 color属性的值可以是十六进制数值、rgb()函数或CSS承认的颜色名称。如: EM { color: red } EM { color: rgb(255,0,0) } 背景属性: background-color属性用于设定背景色,初始值为透明: 属性名称: 'background-color' 属性值: <color> │ transparent 初始值: transparent 适合对象: 所有元素 是否继承: no 百分比备注: 被禁止 backgroud-image属性用于设定背景的图片: 属性名称: 'background-image' 属性值: <url> │ none 初始值: none 适合对象: 所有元素 是否继承: no 百分比备注: 被禁止 其中url可以为绝对地址,也可以是相对地址,例如: BODY { background-image: url(marble.gif) } P { background-image: none } 以上两个属性利用普通的HTML属性也可以实现,下面的属性是CSS对原有HTML的扩展。 background-repeat属性用来描述背景图片的重复排列方式: 属性名称: 'background-repeat' 属性值: repeat │ repeat-x │ repeat-y │ no-repeat 初始值: repeat 适合对象: 所有元素 是否继承: no 百分比备注: 被禁止 其中属性值的含义为: repeat:沿X轴和Y轴两个方向重复显示图片。 repeat-x:沿X轴方向重复图片。 repeat-y:沿Y轴方向重复图片。 none:不重复图片。 例如: BODY { background: red url(pendant.gif); background-repeat: repeat-y; } /*表示沿Y轴重复图片“pendant.gif”,其余部分以红色为背景色*/ background-attachment属性表示在滚动整个文档时,背景图片的显示方式。它的属性值有两种:fixed和scroll,fixed相当于IE4里的水印效果,也就是说在拖动文档时,背景相对是静止的,scroll则和文档一起滚动。 background-position属性用来指定背景图片显示的位置: 属性名称: 'background-position' 属性值: [<percentage> │ <length> ]{1,2} │ [top │ center │ bottom] │ │ [left │ center │ right] 初始值: 0% 0% 适合对象: 容器元素 是否继承: no 百分比备注: refer to the size of the element itself 其中属性值含义为: “top left”和“left top”表示“0% 0%”。 “top”、“top center”和“center top”表示“50% 0%”。 “right top”和“top right”都表示“100% 0%”。 “left”、“left center”和“center left”表示“0% 50%”。 “center”和“center center”表示“50% 50%”。 “right”、“right center”和“center right”都表示“100% 50%”。 “bottom left”和“left bottom”表示“0% 100%”。 “bottom”、“bottom center”和“center bottom”都表示“50% 100%” “bottom right”和“right bottom”表示“100% 100%”。 例如: BODY { background: url(banner.jpeg) right top } /* 100% 0% */ BODY { background: url(banner.jpeg) top center } /* 50% 0% */ BODY { background: url(banner.jpeg) center } /* 50% 50% */ BODY { background: url(banner.jpeg) bottom } /* 50% 100% */ background属性是以上背景属性的快捷方式,属性和顺序如下: 属性名称: 'background' 属性值: <'background-color'> │ │ <'background-image'> │ │ <'background-repeat'> │ │ <'background-attachment'> │ │ <'background-position'> 适合对象: 所有元素 是否继承: no 百分比备注: 只在background-position中容许使用 CSS2快速参考之四 关键词:其他 5、字体(Font)属性: 这里定义了关于字体的各种属性。 font-family属性定义字体的名称,可以是一个字体的名称,也可以是一类字体的名称,字体的名称一定要和计算机系统里的完全一样: 属性名称: 'font-family' 属性值: [[ <family-name> │ <generic-family> ],]* [<family-name> │ <generic-family>] 初始值: 根据用户定义而定 适合对象: 所有元素 是否继承: yes 百分比备注: 被禁止 有些计算机系统里如果没有样式单要求的字体,可以再设一个次字体以备万一。例如: BODY { font-family: Baskerville, "Heisi Mincho W3", Symbol, serif } family-name是指确定的某字体,如Heisi Mincho W3,generic-family指某一类字体,如serif。 font-style属性描述字体的倾斜程度: 属性名称: 'font-style' 属性值: normal │ italic │ oblique 初始值: normal 适合对象: 所有元素 是否继承: yes 百分比备注: 被禁止 font-variant属性: 属性名称: 'font-variant' 属性值: normal │ small-caps 初始值: normal 适合对象: 所有元素 是否继承: yes 百分比备注: 被禁止 一个使用了small-caps属性的元素中的小写字母看起来要比正常的大写字母小一些。 font-weight属性用来描述字重。 属性名称: 'font-weight' 属性值: normal │ bold │ bolder │ lighter │ 100 │ 200 │ 300 │ 400 │ 500 │ 600 │ 700 │ 800 │ 900 初始值: normal 适合对象: 所有元素 是否继承: yes 百分比备注: 被禁止 100到900代表9种不同的字重,400代表normal,700代表bold,900是最重的字体,bolder或lighter表示字体的字重比父元素高或低一级,比如父元素字重为400,则bolder代表字重500,如果父元素本身字重为9 00,那么bolder后,字重还是900,同样的lighter也一样。有些字体并没有100到900那么全的字重,也许是从300到700,那么字重的最小和最大值也为300到700。例如: P { font-weight: normal } /* 400 */ H1 { font-weight: 700 } /* bold */ font-size属性描述字体的大小: 属性名称: 'font-size' 属性值: <absolute-size> │ <relative-size> │ <length> │ <percentage> 初始值: medium 适合对象: 所有元素 是否继承: yes 百分比备注: relative to parent element's font size 该属性可以使用绝对大小,也可以使用相对大小,其中绝对大小可以使用,如下关键字表示: xx-small │ x-small │ small │ medium │ large │ x-large │ xx-large 分别代表最小、较小、小、中等、大、较大和最大。 相对大小可以使用:larger 或smaller描述。 例如: P { font-size: 12pt; } BLOCKQUOTE { font-size: larger } EM { font-size: 150% } EM { font-size: 1.5em } Font属性是以上属性的快捷方式,属性如下: 属性名称: 'font' 属性值: [ [ <'font-style'> │ │ <'font-variant'> │ │ <'font-weight'> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ] 适合对象: 所有元素 是否继承: yes 百分比备注: 只在font-size使用 例如: P { font: 12pt/14pt sans-serif } P { font: 80% sans-serif } P { font: x-large/110% "new century schoolbook", serif } P { font: bold italic large Palatino, serif } P { font: normal small-caps 120%/120% fantasy } 6、文本(Text)属性: 这里的属性将影响WEB文档中的文本显示情况。 text-indent属性描述文本的缩进程度: 属性名称: 'text-indent' 属性值: <length> │ <percentage> 初始值: 0 适合对象: 容器元素 是否继承: yes 百分比备注: 根据父元素的宽度而定 下面的例子表明段落的缩进值为3em: P { text-indent: 3em } Alignment属性表明文本的对齐方式: 属性名称: 'alignment' 属性值: left │ right │ center │ justify 初始值: 依照用户定义 适合对象: block-level elements 是否继承: yes 百分比备注: 被禁止 text-decoration属性描述对文本的修饰方法: 属性名称: 'text-decoration' 属性值: none │ [ underline │ │ overline │ │ line-through │ │ blink ] 初始值: none 适合对象: 所有元素 是否继承: no (see clarification below) 百分比备注: 被禁止 属性值含义分别为: underline:下划线。 overline:上划线。 line-through:删除线。 blink:闪烁(如同Navigator中的blink标记的功能) text-shadow属性可以为文本加入阴影的特效: 属性名称: 'text-shadow' 属性值: none │ <color> [, <color> ]* 初始值: none 适合对象: all 是否继承: No 百分比备注: 只在描述透明度时有效 例如: P { text-shadow: black } 上例将在文本的右下方显示黑色阴影,另外阴影将增大BOX的面积。 letter-spacing属性表明文本的字间距:属性名称: 'letter-spacing' 属性值: normal │ <length> │ auto 初始值: normal 适合对象: 所有元素 是否继承: yes 百分比备注: 被禁止 例如: BLOCKQUOTE { letter-spacing: 0.1em } word-spacing属性表明文本中单词间距: 属性名称: 'word-spacing' 属性值: normal │ <length> 初始值: normal 适合对象: 所有元素 是否继承: yes 百分比备注: 被禁止 例如: H1 { word-spacing: 1em } text-transform属性可以将BOX内的文本按指定的大写或小写形式显示: 属性名称: 'text-transform' 属性值: capitalize │ uppercase │ lowercase │ none 初始值: none 适合对象: 所有元素 是否继承: yes 百分比备注: 被禁止 属性值含义为: capitalize:把BOX中的每句句首字母变成大写。 uppercase:把BOX中所有的字母变成大写。 lowercase:把BOX中所有的字母变成小写。 White-space属性描述如何显示文本中的空格,在HTML中,空格是被省略的,也就是说你在一个段落标记的开头无论输入多少个空格都是无效的,要输入空格有两个方法,一是直接输入空格的代码“ ”,或者使用& lt;pre>标记,CSS中也制定了类似于pre的属性: 属性名称: 'white-space' 属性值: normal │ pre │ nowrap 初始值: normal 适合对象: 容器元素 是否继承: yes 百分比备注: 被禁止 例如: PRE { white-space: pre } P { white-space: normal } CSS2快速参考之五 关键词:其他 7、列表属性: 这里的属性用来描述列表(list)的一系列属性。 list-style-type属性描述用于列表每一项前使用的符号: 属性名称: 'list-style-type' 属性值: disc │ circle │ square │ decimal │ lower-roman │ upper-roman │ lower-alpha │ upper-alpha │ none 初始值: disc 适合对象: 列表元素 是否继承: yes 百分比备注: 被禁止 属性值含义为: disc:圆饼形。 circle:空心圆形。 square:方形。 decimal:十进制数值。 lower-roman:小写罗马数字。 upper-roman:大写罗马数字。 lower-alpha:小写希腊字母。 upper-alpha:大写希腊字母。 例如: <STYLE> OL { list-style-type: lower-roman } </STYLE> <BODY> <OL> <LI> This is the first item. <LI> This is the second item. <LI> This is the third item. </OL> </BODY> 还可以利用list-style-image把列表前面的符号换为图形: 属性名称: 'list-style-image' 属性值: <url> │ none 初始值: none 适合对象: 列表元素 是否继承: yes 百分比备注: 被禁止 <url>可以是绝对地址,也可以是相对地址。 list-style-position属性用于描述列表的位置显示: 属性名称: 'list-style-position' 属性值: inside │ outside 初始值: outside 适合对象: 列表元素 是否继承: yes 百分比备注: 被禁止 属性值outside和inside分别表示在BOX外部显示或内部显示,例如: <STYLE type="text/css"> UL { list-style: outside } UL.compact { list-style: inside } </STYLE> <UL> <LI>first list item comes first <LI>second list item comes second </UL> <UL class=compact> <LI>first list item comes first <LI>second list item comes second </UL> list-style属性为以上属性的快捷方式: 属性名称: 'list-style' 属性值: <'list-style-type'> │ │ <'list-style-position'> │ │ <'list-style-image'> 初始值: no 适合对象: 列表元素 是否继承: yes 百分比备注: 被禁止 例如: UL { list-style: upper-roman inside } /* 对任何UL有效*/ UL ~ UL { list-style: circle outside } /* 对任何UL内部的UL标记有效*/ 8、表格属性: 由于表格中的大部分属性已经在以上的各类属性中探讨过了,所以这里只有两个属性介绍: row-span属性描述表格跨越的行的数目: 属性名称: 'row-span' 属性值: <integer> 初始值: 1 适合对象: 表格元素 是否继承: no 百分比备注: 被禁止 column-span属性描述表格跨越的列的数目: 属性名称: 'column-span' 属性值: <integer> 初始值: 1 适合对象: 表格元素 是否继承: no 百分比备注: 被禁止 9、用户界面属性: cursor属性,用户可以指定在某个元素上要使用的光标形状: 属性名称: 'cursor' 属性值: auto │ crosshair │ default │ pointer │ move │ e-resize │ ne-resize │ nw-resize │ n-resize │ se-resize │ sw-resize │ s-resize │ w-resize│ text │ wait │ help │ <url> 初始值: auto 适合对象: 所有元素 是否继承: yes 百分比备注: 被禁止 属性值分别代表鼠标指针在windows操作里的各种形状,另外还可以指定指针图标的url地址,不过CSS还暂时不支持ani动画光标。 到此,所有关于CSS现有的属性都介绍完了(还有一些关于听觉方面的样式单,就不再作介绍),本文也该结束了,虽然现在支持样式单的浏览器种类还不多,但也占到了大半,样式单迟早会成为浏览器的统一标准,原因有两个:一、样式单是W 3C唯一接受的样式标准,而且没有任何迹象表明W3C会把Javascript样式单作为样式单标准;二则是CSS有效的解决了把事件引入元素的问题,配合脚本程序,是动态HTML不可缺少的一部分,尝试着用样式单建立W eb页,你会发现它真的很方便。希望我的这些努力能为你熟练掌握样式单尽一点力。 |
CSS语法手册 :字体属性 1、font-family 功能:用于改变HTML标志或元素的字体,你可设置一个可用字体清单。浏览器由前向后选用字体。 语法:{font-family:字体1,字体2, ... ,字体n} 2、font-style 功能:使文本显示为扁斜体或斜体等表示强调 。 数值: normal - 正常 italic - 斜体 oblique - 偏斜体 3、font-variant 功能:用于在正常与小型大写字母字体间切换。 数值:normal - 如果该标志继承父元素的 small-caps 设置,则关键字 normal 将 font-variant 设置为正常字体。 small-caps - 把小写字母显示为字体较小的大写字母。 4、font-weight 功能:用于设置字体灰度,生成字体的深,浅版本。 数值: 正常灰度 - normal 相对灰度 - bold, bolder, light, lighter 梯度灰度 - 取值如下:100, 200, 300, 400(相当于normal), 500, 600, 700(相当于bold), 800, 900。 5、font-size 功能:用各种度量单位控制文本字体大小。 数值:有四种数值方式 绝对尺寸- 用具体字号表定义字体大小,可以取下列数值之一:xx - small, x-small, small, medium, large, x-large, xx-large。不同字体有不同的数值。 相对尺寸 - larger, smaller,产生的尺寸是相对于父容器字号而言的。 长度 - 用毫米(mm),厘米(cm),英寸(in),点数(pt),象素(px),pica(pc),ex(小写字母x的高度)或em(字体高度)作为度量单位。 百分比 - 相对于其父元素字体大小的百分比。 6、font 功能:简写属性,提供了对字体所有属性进行设置的快捷方法。 语法:{font:字体属性1 字体属性2 ... 字体属性n} 数值:字体属性值为前面已列出的值,此外还可以设置行间距属性 line-height(见文本属性),内容的顺序为:font-style; font-variant; font-weight; font-size; line-height; font-family。可省略部分属性,属性值间用空格分开。 例子: 让字体美起来 你可能正建立自己在网上的家-WEB页,又或者它已经被你安置在网络某一角里。无论出于什么目的,你都希望有更多的指导,告诉你该如何更好的布置家。 在目前许多的指导中,他们都在诉说,应该加一点声音或者一个说话的场地。的确我们都需要它,但我希望关心更多WEB家里底层的东西,比如如何把字体弄的漂亮些,或者让页面颜色变的活泼些,让访问者增加“看欲”,还有更多你曾经都没有关注的细微之处。今天,我们首先来探讨页面的字体。 一、html中定义字体 字体的确是很好打交道的,一开始制作页面,它就以默认的样式显示。随着逐步的深入,你会改变一下默认的设置,增大或者减小字体。 一般字体默认的标签格式:<p>田涛</p> 接下来,我们把字体设置为黑体或者宋体字样式,它的标签如下: <p><font face="黑体">田涛</font></p> 在以上格式里,我们引出了字体的标签元素<font></font>.该标签具有下面三个属性值: size="..." 设置字体的大小,一般从1到7,它的默认值是+3,每次改变字体都是+3或者-3。 color="..." 字体颜色的设置。定义颜色可以利用RGB的16进制值,比如: color=“#ffffff” 。也可以直接利用颜色英文来定义,比如: color=“white” face="..." 字体样式的设置,比如:face=“黑体”。或者 face=“黑体,宋体”。后者的格式,每当浏览器访问第一种字体失败后,浏览器就会访问第二种字体,依此类推。 下面是一个完整的字体格式: <font face="黑体" size="2" color="#FFFFFF">田涛</font> HTML还提供了以下字体样式标签: 1.六个标题样式 从h1到h6,如:<h1><font face="黑体" size="2">田涛</font></h1> 2.字体风格 斜体字:<em>田涛</em> 粗体字:<strong>田涛</strong> 斜体+粗体字:<strong><em>田涛</em></strong> 3.定义文本 定义大字体 <big>田涛</big> 定义小字体 <small>田涛</small>或者<small><small><small>田涛</small></small></small> 如果你在字体标签中设置了size="...",那么<big>标签将不起作用。 除了以上常用字体标签元素外,HTML还包含很多其它标签,但不我们不多用。 二.CSS(层叠样式表)改变字体 在过去页面上的字体是一成不变的,静静的呆在那。当DHTML(动态网页)出现后,我们能有更多方式控制字体了。一般来说,动态字体的实现核心是CSS(层叠样式表)加JavaScript。使用了以上两项技术后,字体就能产生许多变化。 1.CSS定义字体的标签元素 font-family: 设置字体字族。 <span style="font-family: 黑体, 宋体(GB)">田涛</span> font-sytle:设置字体类型。 <span style="font-style: normal">田涛</span> font-weight:设置字体的字重。 <span style="font-weight: bold">田涛</span> font-size:设置字体大小。 <span style="font-size: 14pt">田涛</span> font-decoration:修饰文本字体,比如带下划线“underline”。 <span style="text-decoration: underline">田涛</span> 对于以上的字体设置,我们可以采用一个方便的方法: <span style="font:normal bold 14pt 黑体">田涛</span> 在style定义的次序是:font-style,font-weight,font-size,font-family. 2.CSS定义字体和<font>定义字体的冲突 对于CSS定义字体和<font>定义字体,我们都要注意以下问题,比如有以下字体设置: <span style="font-family: 宋体(KSC); font-size: 200pt"><font>田涛</font></span> 这时侯字体大小将以font-size: 200pt的定义来设置。但如果你在<font>中加入size属性,比如: <span style="font-family: 宋体(KSC); font-size: 200pt"><font size="5">田涛</font></span> 这时侯,字体的大小以size的设置为准,font-size: 200pt将不起作用。其它的属性也是一样。如果你无需动态字体,就利用HTML4.0的<font>来定义字体,需要动态字体时,就需要使用CSS和JavaScritp来定义字体及引发事件。 3.定义CSS字体属性类 一般我们在制作动态字体时,我们会首先利用CSS定义出页面字体的整个属性,然后在页面中引用,而不用对每段文本进行设置,这也是实现动态字体首先一步。 <html> <head> <style type="text/css"> .tt2 { font-family:"黑体"; font-size: 16px; font-style: normal; line-height: 17px } </style> </head> <body> <p class="tt2">田涛</p> </body> </html> 在以上代码中,“田涛”两个字引用了.main_2类定义的字体样式。当然你可以在<style></style>中定义不同的字体样式,以便页面中根据不同字体加以引用。比如: <html> <head> <style type="text/css"> .tt1 { font-family:"宋体"; font-size: 15px; font-style: normal; } .tt2 { font-family:"黑体"; font-size: 16px; font-style: normal; } </style> </head> <body> <p class="tt1">田涛</p> <p class="tt2">田涛</p> </body> </html> 三.让字体动起来 要让字体动起来,我们可以利用本身CSS的事件或者让JavaScript引发事件。 1.CSS引发事件 例一 <html> <head> <style type="text/css"> <!-- a:link { color: black; text-decoration: none} a:visited { color: white; text-decoration: none} a:hover { color: blue; text-decoration: underline} --> </style> </head> <body> <p><a href="http://zgrtt.yeah.net/">田涛</a></p> </body> </html> link定义的是链接在页面显示的颜色(黑色)及链接没有下划线,visited定义的是单击链接后的颜色(白色),hover定义的是指向链接时的动态颜色。以上实例表示,当指向链接“田涛”后字体颜色从黑色变成蓝色,并加下划线,单击链接后,链接颜色变成白色。 例二 <html> <head> <title></title> </head> <body> <p οnmοuseοver="this.style.fontSize=200" οnmοuseοut="this.style.fontSize=100">田涛 </p> </body> </html> 以上实例是利用内联改变字体样式,当鼠标指向“田涛”时字体因为定义了this.style.fontSize=200,这两个字放大至200pt,当鼠标移开“田涛”时,因定义了this.style.fontSize=100,这两个字体缩小到100pt. 2.JavaScript引发事件 <html> <head> <style> H1.italic {font-style:italic} H1.bold {font-style:bold; } </style> </head> <body> <script language="JavaScript"> function changeHead() { if (H1_1.className=="bold") { H1_1.className="italic" } else { H1_1.className="bold";} } </script> <h1 id="H1_1" class="bold" οnmοuseοver="changeHead()" οnmοuseοut="changeHead()">田涛 </h1> </body> </html> 在上面的实例当中,我们首先定义了两个CSS类H1.italic和H1.bold,然后利用JavaScript脚本定义函数 changeHead(),最后在需要的地方引发事件执行定义好的函数。这里我们引发了两个单击事件onmouseover和onmouseout。在这里我还要说一点,因为你定义了H1两个类H1.italic 和H1.bold,所以当你在引用时,要首先设置class="bold",表示字体以bold样式出现。然后,移动鼠标到“田涛”上,触发了事件一,移开“田涛”时,触发了事件二。 对于动态字体,我们还有很多方法来完善它。只是在考虑利用动态字体时,需要了解不同浏览器会产生不一样的结果。这时侯,就需要不停测试,来找到一个两全其美的方法。最后,希望你在看完这篇文章后,找一点CSS及JavaScript的资料来看,因为它们才是实现所有“梦想”的工具。 |