1.2.5 框架网页设计

框架可以将文档划分为若干窗格,在每个窗格中显示一个网页,从而得到在同一个浏览器窗口中显示不同网页的效果。框架网页是通过一个框架集<frameset>和多个框架<frame>标记来定义的。在框架网页中将<frameset>标记放在<head>标记之后取代<body>的位置,还可以使用<noframes>标记指出框架不能被浏览器显示时的替换内容。

框架网页的基本结构如下:

<!DOCTYPE html
PUBLIC"-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html>
<head>
    <title>框架网页的基本结构</title>
</head>
<frameset属性="值"…>
    <frame属性="值"…/>
    <frame属性="值"…/>
    …
</frameset>
</html>

1.框架集

框架集包括如何组织各个框架的信息,可以用<frameset>标记定义。框架是按照行、列组织的,可以用<frameset>标记的下列属性对框架结构进行设置。

● cols:在创建纵向分隔框架时指定各个框架的列宽,取值有三种形式,即像素、百分比和相对尺寸。例如:

cols=" *, *, *"表示将窗口划分为三个等宽的框架。

cols=" 30%, 200, *"表示将浏览器窗口划分为三列框架,其中第1列占窗口宽度的30%,第2列为200像素,第三列为窗口的剩余部分。

cols=" *, 3 *, 2 *"表示左边的框架占窗口的1/6,中间的占1/2,右边的占1/3。

● rows:指定横向分隔框架时各个框架的行高,取值与cols属性类似。但rows属性不能与cols属性同时使用,若要创建既有纵向分隔又有横向分隔的框架,应使用嵌套框架。

● frameborder:指定框架周围是否显示3D边框。若取值为1(默认值)则显示,为0则显示平面边框。

● framespacing:指定框架之间的间隔(以像素为单位,默认为0)。

要创建一个嵌套框架集,可以使用如下代码:

<html>
<head>
    <title>嵌套框架</title>
</head>
<frameset rows="20%,400,*">
    <frame />
    <frameset cols="300, *" />
        <frame />
        <frame />
    </frameset>
    <frame />
</frameset>
</html>

2.框架

框架使用<frame>标记来创建,主要属性如下。

● name:指定框架的名称。

● frameborder:指定框架周围是否显示3D边框。

● marginheight:指定框架的高度(以像素为单位)。

● marginwidth:指定框架的宽度(以像素为单位)。

● noresize:指定不能调整框架的大小。

● scrolling:指定框架是否可以滚动,取值为yes、no和auto。

● src:指定在框架中显示的网页文件。

例1.8】设计一个框架网页,并在各个框架中各显示一个网页。

(1)1_8frame.html(主网页)

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html>
<head>
    <title>框架中显示网页</title>
</head>
<frameset rows="80, *">
    <frame src="1_8top.html" name="frmtop" />
    <frameset cols="25%,*">
        <frame src="1_8left.html" name="frmleft" />
        <frame src="1_8content.html" name="frmmain" />
    </frameset>
</frameset>
</html>

(2)1_8top.html(上部网页)

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body bgcolor="#8888FF">
<marquee  behavior="alternate"  direction="right">
    <font size="5" color="blue">欢迎登录学生成绩管理系统</font>
</marquee>
</body>
</html>

(3)1_8content.html(下部右边网页)

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
    <title>content网页</title>
</head>
<body>
    <h2 align="center">这里是content网页。</h2>
</body>
</html>

(4)1_8left.html(下部左边网页)

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
    <title>left网页</title>
</head>
<body>
    <a href="1_5ex.html" target="frmmain">学生成绩表</a></br></br>
    <a href="1_6stu.html" target="frmmain">学生信息显示</a></br></br>
    <a href="1_8content.html" target="frmmain">返回主页</a></br>
</body>
</html>

完成后运行1_8frame.html文件,单击页面下部左边网页的“学生信息显示”超链接,运行效果如图1.20所示。

图1.20 框架网页