一、framespacing和border属性

我们知道,使用border属性是设置边框的宽度的。参考示例:HTML4.01教程:窗口框架设置窗口边框的粗细示例

同样,使用framespacing属性也是设置边框的宽度的。参考使用framespacing属性设置框架集边框宽度

不论单独使用哪一个属性,显示的效果都是一样的。

而在Dreamweaver中,一旦在“属性”栏中设置了边框的宽度,则会同时使用这两个属性来表示。代码如下:

<html>
<head>
<title>框架集中framespacing、border和frameborder属性的关系示例-baike369.com</title>
</head>
  <frameset cols="40%,*">
  <frame src="append/Frame_a.html" />
    <frameset rows="40%,*" framespacing="50" border="50">
    <frame src="append/Frame_b.html" />
    <frame src="append/Frame_c.html" />
    </frameset>
  </frameset>
  <noframes>
  <body>您的浏览器无法处理框架!</body>
  </noframes>
</html>

查看代码效果:框架集中framespacing、border和frameborder属性的关系示例

同时使用这两个属性和单独使用任一个属性,显示的效果也是一样的。

在这里,需要注意:

  • 如果framespacing属性的值不变,而改变borer属性值的大小,显示的效果不变。
  • 如果border属性的值不变,而改变framespacing属性值的大小,显示的效果则以framespacing的大小为准。

因此,在框架集中,需要修改边框的宽度时,应该以framespacing属性为主。

二、frameborder属性与framespacing和border属性

下面来讨论frameborder属性与framespacing和border属性的关系。

关于frameborder属性,请参考隐藏窗口边框。当frameborder="1"时,表示显示框架的边框,因为它是默认值,所以不必设置。而当frameborder="0"时,会出现两种情况:

这里以同时设置framespacing和border属性为例。当然,单独使用任一个属性,效果也是一样的。

1. 当framespacing和border属性设置为一个大于0的数时

会出现下面的情况:

<frameset cols="40%,*">
<frame src="append/Frame_a.html" />
<frameset rows="40%,*" framespacing="80" border="80" frameborder="0">
<frame src="append/Frame_b.html" />
<frame src="append/Frame_c.html" />
</frameset>
</frameset>

查看代码效果:框架集中framespacing、border和frameborder属性的关系示例(二)

此时,虽然不显示框架的边框,但是边框占据的空间还是存在的。它也会影响网页的布局。

2. 当framespacing和border属性设置为0时

会出现下面的情况:

<frameset cols="40%,*">
<frame src="append/Frame_a.html" />
<frameset rows="40%,*" framespacing="0" border="0" frameborder="0">
<frame src="append/Frame_b.html" />
<frame src="append/Frame_c.html" />
</frameset>
</frameset>

查看代码效果:框架集中framespacing、border和frameborder属性的关系示例(三)

我们发现,Frame_b.html和Frame_c.html这两个网页之间的边框消失不见了,看上去就像一个网页一样。

请分清这两种情况,然后在网页制作中,根据具体的情况进行选择!