一、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.六个标题样式
从h2到h7,如:<h2><font face="黑体" size="2">网页教学网</font></h2>
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://www.webjx.com/">网页教学网</a></p>
</body>
</HTML>
link定义的是链接在页面显示的颜色(黑色)及链接没有下划线,visited定义的是单击链接后的颜色(白色),hover定义的是指向链接时的动态颜色。以上实例表示,当指向链接“网页教学网”后字体颜色从黑色变成蓝色,并加下划线,单击链接后,链接颜色变成白色。
例二
<HTML>
<head>
<title></title>
</head>
<body>
<p onmouseover="this.style.fontSize=200" onmouseout="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>
<h2 id="H1_1" class="bold" </h2>
</body>
</HTML>
在上面的实例当中,我们首先定义了两个CSS类H1.italic和H1.bold,然后利用JavaScript脚本定义函数 changeHead(),最后在需要的地方引发事件执行定义好的函数。这里我们引发了两个单击事件onmouseover和onmouseout。在这里我还要说一点,因为你定义了H1两个类H1.italic 和H1.bold,所以当你在引用时,要首先设置class="bold",表示字体以bold样式出现。然后,移动鼠标到“网页教学网”上,触发了事件一,移开“网页教学网”时,触发了事件二。
对于动态字体,我们还有很多方法来完善它。只是在考虑利用动态字体时,需要了解不同浏览器会产生不一样的结果。这时侯,就需要不停测试,来找到一个两全其美的方法。最后,希望你在看完这篇文章后,找一点CSS及JavaScript的资料来看,因为它们才是实现所有“梦想”的工具。