将样式表加入到HTML中

样式表

  有很多方法将样式表加入到HTML中,每个都带有自己的优点和缺点。新的HTML元素和属性已被加入以允许样式表与HTML文档更简易地组合起来。
  连接到一个外部的样式表
  嵌入一个样式表也就是输入一个样式表
  内联样式
  CLASS属性
  ID属性
  SPAN元素
  DIV元素
  关于认证的备注
  -------------------------------------------
  连接到一个外部的样式表
  一个外部的样式表可以通过HTML的LINK元素连接到HTML文档中:
  <LINK REL=StyleSheet HREF="style.css" TYPE="text/css" MEDIA=screen>
  <LINK REL=StyleSheet HREF="color-8b.css" TYPE="text/css" TITLE="8-bit Color Style" MEDIA="screen, print">
<LINK REL="Alternate StyleSheet" HREF="color-24b.css" TYPE="text/css" TITLE="24-bit Color Style" MEDIA="screen, print">
<LINK REL=StyleSheet HREF="aural.css" TYPE="text/css" MEDIA=aural>
  <LINK>标记是放置在文档的HEAD部分。可选的TYPE属性用于指定媒体类型--text/css是一个层叠样式表--允许浏览器忽略它们不支持的样式表类型。为CSS文件配置服务器而将text/css当作Content-type内容发送出去也是一个好注意。
  外部样式表不能含有任何像<HEAD>或<STYLE>这样的HTML的标记。样式表仅仅由样式规则或声明组成。一个单独由
  P { margin: 2em }
  组成的文件就可以用作外部样式表了。
<LINK>标记也有一个可选的MEDIA属性,用于指定样式表被接受的介质或媒体。允许的值有
screen (缺省值),提交到计算机屏幕;
  print, 输出到打印机;
projection,提交到投影机;
aural,扬声器;
braille,提交到凸字触觉感知设备;
tty,电传打字机 (使用固定的字体);
tv,电视机;
all,所有输出设备。
多样的媒体通过用逗号隔开的列表或值all指定。
Netscape Navigator 4.x 错误地忽略除了screen值外的任何使用MEDIA值声明的连接或嵌入样式表。例如,MEDIA="screen,projection"会令到样式表被Navigator 4.x忽略,尽管展示的设备是计算机的屏幕。Navigator 4.x 也忽略使用MEDIA=all声明的样式表。
REL属性用于定义连接的文件和HTML文档之间的关系。REL=StyleSheet指定一个固定或首选的样式而REL="Alternate StyleSheet"定义一个交互样式。固定样式在样式表激活时总被应用。缺少的TITLE属性,就像例子中的第一个<LINK>标记,定义一个固定样式。
一个首选样式会自动被应用,就像例子中的第二个<LINK>标记。REL=StyleSheet和一个TITLE属性的组合指定一个首选的样式。网页制作者不能指定多于一个的首选样式。
交互样式通过REL="Alternate StyleSheet"指出。例子中的第三个<LINK>标记定义一个交互样式,用户可以选择用来代替首选样式表。
注意现在的浏览器一般都缺乏选择交互样式的能力。
单一的样式也可以通过多个样式表给出
<LINK REL=StyleSheet HREF="basics.css" TITLE="Contemporary">
<LINK REL=StyleSheet HREF="tables.css" TITLE="Contemporary">
<LINK REL=StyleSheet HREF="forms.css" TITLE="Contemporary">
在这个例子中,三个样式表组合成一个"Contemporary"样式,作为一个首选样式表被应用。要组合多个样式表成一个单一样式,必须在每个样式表中使用相同TITLE。
  当样式被应用到很多的网页时,一个外部样式表是理想的。网页制作者使用外部样式表可以改变整个网站的外观而仅仅通过改变一个文件。同样的,大多数浏览器会保存外部样式表在缓冲区,从而如果样式表在缓冲区就避免了在展示网页时的延迟。
  Microsoft Internet Explorer 3 for Windows 95/NT4并不支持来自连接的样式表中的BODY 背景图象或颜色。如果考虑到这个错误,网页制作者不妨提供另外的包括一个背景图象或颜色的结构,例如嵌入或内联样式,或使用BODY元素的BACKGROUND属性。
  -------------------------------------------------
  嵌入一个样式表
  一个样式表可以使用STYLE元素在文档中嵌入:
<STYLE TYPE="text/css" MEDIA=screen>
<!--
BODY { background: url(foo.gif) red; color: black }
P EM { background: yellow; color: black }
.note { margin-left: 5em; margin-right: 5em }
-->
</STYLE>
STYLE元素放在文档的HEAD部分。必须的TYPE属性用于指定媒体类型,LINK元素也一样。同样地,TITLE和MEDIA属性也可以用STYLE指定。
旧版本的浏览器,并不能识别STYLE元素,会将其当作BODY的一部分照常展示其内容,从而使这些样式表对用户是可见的。要防止这样做,STYLE元素的内容要包含一个SGML注解(<!-- comment -->)在里面,像上述例子那样。
嵌入的样式表可用于当一个文档具有独一无二的样式的时候。如果多个文档都使用同一样式表,那么外部样式表会更适用。
-------------------------------------------------------
输入一个样式表
一个样式表可以使用CSS的@import 声明被输入。这个声明用于一个CSS文件或内部的STYLE元素:
<STYLE TYPE="text/css" MEDIA="screen, projection">
<!--
@import url(http://www.htmlhelp.com/style.css);
@import url(/stylesheets/punk.css);
DT { background: yellow; color: black }
-->
</STYLE>
注意其它的CSS规则应该仍然包括在STYLE元素中,但所有的@import 声明必须放在样式表的开始部分。任意在样式表中指定了的规则,其自身超越在输入样式表中对立的规则。例如上例,即使一个输入的样式表包含DT { background: aqua },定义项(definition terms)依然会是黄色的背景。
被输入的样式表的顺序对于它们怎样层叠是很重要的。在上述的例子中,如果style.css输入的样式表指定了STRONG元素会显示为红色而punk.css样式表指定了STRONG元素显示为黄色的话,那么后面的规则会获胜,而STRONG元素会显示为黄色。
输入的样式表对于模块性效果很有用处。例如,一个网站可以通过使用了的选择符分类样式表。一个simple.css样式表给出公共的元素像BODY、P、H1和H2。此外,一个extra.css样式表给出较少共通的元素像CODE、BLOCKQUOTE和DFN。一个tables.css样式表可以用于定义变革元素的规则。这三个样式表在需要的时候可以使用@import 声明包括在HTML中。三个样式表也可以通过LINK元素组合。
------------------------------------------------------------
内联样式
样式可以使用STYLE属性内联。STYLE属性可以应用于任意BODY元素(包括BODY本身),除了BASEFONT、PARAM和SCRIPT。这个属性将任何数量的CSS声明当作自己的值,而每个声明用分号隔开。以下是一个例子:
<P STYLE="color: red; font-family: 'New Century Schoolbook', serif"> 这段的样式是红色的New Century Schoolbook字,如果字体可用的话。</P>
注意在STYLE中New Century Schoolbook包含在单引号中,因为双引号被用作包含样式声明。
内联的样式比其他方法更加灵活。要使用内联样式,必须使用Content-Style-Type HTTP页眉扩展对整个文档进行单独的样式表语言声明。使用内联CSS的网页制作者必须将text/css作为Content-Style-Type HTTP页眉,或在HEAD部分包括以下标记:
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
因为和需要展示的内容混合在一起,内联样式会失去一些样式表的优点。同样地,内联样式默认地接受所有媒体,因为没有任何的为内联样式指定明确的媒体的语句。这种方法应该尽量少用,如当一个样式会应用在所有媒体到一个元素的个别情况。如果样式会被应用到单一元素的场合,但只能使用确认的媒体的话,使用ID属性代替STYLE属性。
------------------------------------------------------------------
CLASS属性
CLASS属性用于指定元素属于何种样式的类。例如,样式表可以加入punk和warning类:
.punk { color: lime; background: #ff80c0 }
P.warning { font-weight: bolder; color: red; background: white }
这些类可以使用CLASS属性在HTML中引用:
<H1 CLASS=punk>属性扩展</H1>
<P CLASS=warning>一些属性扩展会有负值的边效果,产生于支持和不支持的浏览器上...
在这个例子中,punk类可以用于任何BODY元素因为它在样式表中没有HTML元素关联。而在这个例子的样式表,warning类只能用于P元素。
一个良好的习惯是在命名类的时候,根据它们的功能而不是根据它们的外观。上述例子中的warning类也可以命名为red,但如果网页制作者决定改变这个类的样式为别的颜色,或希望为那些使用PC喇叭的人定义为aural(听觉)样式的话,那么这个名字就变得毫无意义了。
类会是应用样式到HTML文档中在结构上一样的部分的有效的办法。例如,本页使用类给CSS源代码和HTML源代码使用不同的样式。
-------------------------------------------------------------------
ID属性
ID属性用于定义一个元素的独特的样式。一个CSS规则如
#wdg97 { font-size: larger }
可以通过ID属性应用到HTML中:
<P ID=wdg97>欢迎访问Web Design Group及TV water 168!</P>
整个文档当中的每个ID属性的值都必须是唯一的。其值必须是一个以字母开头紧接字母、识字或连字符。字母限于A-Z和a-z。
注意HTML 4.0允许在ID属性中有句号,但CSS1不允许在ID选择符中有句号。也要注意CSS1允许Unicode字符161-255而且忽略Unicode字符为一个数字代码,但HTML 4.0不允许这些字符在一个ID属性值当中。
当一个样式只需要在任何文档中应用一次时,使用ID是很适合的。 ID与STYLE属性相比,在于ID允许指定媒体的样式,而且也可以被应用于多个文档(虽然每个文档只用一次)。
----------------------------------------------------------------
SPAN元素
SPAN元素被加入到HTML中以允许网页制作者给出样式但无须附加在一个HTML的结构元素上。SPAN在样式表中作为一个选择符使用,而且它也能接受STYLE、CLASS和ID属性。
SPAN是一个内联元素,所以它可以作为HTML中的元素如EM和STRONG使用。最重要的差别在于虽然EM和STRONG带有结构的意义,但SPAN就没有这样的意义。它的存在纯粹是应用样式,所以当样式表失效时它就没有任何的作用。
一些SPAN例子如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<TITLE>SPAN的例子</TITLE>
<STYLE TYPE="text/css" MEDIA="screen, print, projection">
<!--
.firstwords { font-variant: small-caps }
-->
</STYLE>
</HEAD>
<BODY>
<P><SPAN CLASS=firstwords>The first few words</SPAN>前面是
段落中少数的文字,会是小型大写字母。样式也可以内联,如改变文
字的样式为<SPAN STYLE="font-family: Arial">Arial</SPAN>.</P>
-----------------------------------------------------------------
DIV元素
DIV元素在功能上与SPAN元素相似,最主要的差别在于DIV ("division","部分"的简称)是一个块级元素。DIV可以包含段落、标题、表格甚至其它部分。这使DIV便于建立不同集成的类,如章节、摘要或备注。例如:
<DIV CLASS=note>
<H1>Divisions/部分</H1>
<P>DIV元素在HTML 3.2中有定义,但HTML 3.2中只有ALIGN属性能兼容。HTML 4.0在属性中加入CLASS、STYLE、和ID属性。</P>
<P>因为DIV可以包含其他块级集成,在用于建立文档的大型章节例如本备注是很有用的。</P>
<P>要求关闭标记。</P>
  </DIV>
  关于认证的备注
  少数使用了CSS样式的文档能在HTML3.2 (Wilbur)层(在WDG网站,译者注)得到认证。HTML3.2不会解释SPAN元素,也不解释CLASS、STYLE或ID属性,而且在LINK和STYLE元素中也很少支持TYPE和MEDIA属性。

  这些有关的样式元素和属性对不支持的浏览器不会有害,因为它们能安全地忽略。文档使用这些元素和属性可以被认证防御于HTML 4.0。

时间: 2025-01-02 10:37:12

将样式表加入到HTML中的相关文章

CSS样式表在网页设计中的运用

多层模式表单(Cascading Style Sheet, CSS)是一种为超文本置标语言(HyperText Markup Language, HTML)提供增强补充服务的技术,可对每一个HTML的置标(tag)做精雕细刻的修饰.只用HTML制作的网页,对页面内各部分的修饰能力有限且语句烦锁,CSS正是弥补这一缺陷的有力技术,它语句.文法简单,只要在源码中插入STYLE语句就可轻易实现页面内任意文本颜色.背景.边框.行距.字距的添删和修饰等功能,使网页更加生动活泼,从而获得满意的效果. ---

动态创建样式表在各浏览器中的差异测试代码_javascript技巧

复制代码 代码如下: <!doctype html> <head></head> <body> <span id="con">xxx</span> <script> var css = document.createElement('style'); css.setAttribute('type', 'text/css'); var cssText = 'span{color:Red;}'; if(cs

如何解决css样式表在不同浏览器中显示效果不同的问题

一种简单的办法就是采用:使用IE专用的条件注释 <!--其他浏览器 --> <link rel="stylesheet" type="text/css" href="css.css" /> <!--[if IE 7]> <!-- 适合于IE7 --> <link rel="stylesheet" type="text/css" href="ie

入门:在网页中使用CSS样式表的四种方法

css|网页|样式表 如何在网页中插入CSS 前面我们了解了CSS的语法,但要想在浏览器中显示出效果,就要让浏览器识别并调用.当浏览器读取样式表时,要依照文本格式来读,这里介绍四种在页面中插入样式表的方法:链入外部样式表.内部样式表.导入外表样式表和内嵌样式. 1. 链入外部样式表 链入外部样式表是把样式表保存为一个样式表文件,然后在页面中用< link >标记链接到这个样式表文件,这个标记必须放到页面的< head >区内,如下: <head> -- <link

为什么CSS样式表在IIS中会失效?

最近发现我的css样式表在.net2.0中测试时发挥正常,但发布到IIS上后打开就会有问题,第一次打开页面后,样式表没有起作用,如果点页面中的链接返回到本页时就正常了.不知道为什么, google了下下,找到了若干原因,经过测试,原来是编码有问题,我直接拷贝过来的css与js文件,存储格式是ansi的,重新保存了一下后再次发布,成功了,哈哈...好久了噢,终于解决啦! 现附原文于下: 经常有人遇到ASP.NET 2.0(ASP.NET 1.x中可能是有效的)中CSS失效的问题,现将主要原因和解决

串接样式表(CSS)来显示XML文件

css|xml|显示|样式表     在本章中,你将学习显示XML 文件于Microsoft Internet Explorer 5 中的第一种方法:串接样式表(CSS).串接样式表是一个包含安排XML 文件中元素相关指令的档案.因为你已经利用XML创造了自己的元素,浏览器并不知道如何适当地显示这些元素.建立串接样式表并将它链接到XML 文件中便是一种告诉浏览器如何显示文件中每个元素的方法.附加串接样式表的XML 文件可以直接在Internet Explorer 5 中被开启.你不需要使用HTM

样式表(CSS:Cascading Style Sheets)学习[上]

css|样式表 一.样式表基础 1. 样式表中每一个条目由选择符(selector)和对应的规则组成,选择符通常是HTML元素名称,也可以是类(class).标识符(id).伪类(pseudo class,它们标示了超链接的不同状态)等. 2. 将样式表(规则)添加到HTML文档中有3种方式: ① 外部样式表. ② 应用于整个文档的样式,位于<head>区,包括嵌入样式表和输入样式表. ③ 行内样式,通过绝大多数元素的style属性实现. 3. 样式表内的注释用/* -*/.通过将样式规则包围

网页学习:样式表CSS简明教程

css|教程|网页|样式表 样式表CSS在网页中占着极重要的地位,它的使用一直是热门讨论的话题.CSS是Cascading Style Sheet的简写,译为"层叠样式表单".CSS几乎可以定义所有的网页元素,CSS虽然功能强大,但平时我们用到的是很少的,最常见的有:定义字体大小(用CSS定义的字体大小不会浏览器的字体设置而改变).去掉超链下划线.超链接变色等等.下面详细.简练地讲如何使用CSS. 1.CSS加在什么位置?编辑CSS时候,强烈建议使用记事本之类的文本编辑工具打开你的网页

样式表(CSS:Cascading Style Sheets)简要教程[上]

css|教程|样式表 一.样式表基础   1. 样式表中每一个条目由选择符(selector)和对应的规则组成,选择符通常是HTML元素名称,也可以是类(class).标识符(id).伪类(pseudo class,它们标示了超链接的不同状态)等. 2. 将样式表(规则)添加到HTML文档中有3种方式: ① 外部样式表. ② 应用于整个文档的样式,位于<head>区,包括嵌入样式表和输入样式表. ③ 行内样式,通过绝大多数元素的style属性实现. 3. 样式表内的注释用/* -*/.通过将样