|
主题设置

卡片式面板通常用于非白色背景色的主体内

框架标签

<frame> 标签定义 HTML 框架,框架必须放在框架集中,框架集用 <frameset> 标签定义。

框架展示

垂直框架

三份不同的 HTML 文档制作一个垂直框架。

水平框架

三份不同的 HTML 文档制作一个水平框架。

框架标签

标签 属性 属性值 描述
<frameset>:框架集 rows 数值 | 百分比 | 星号(*) 定义框架在行上占据框架集的面积
cols 数值 | 百分比 | 星号(*) 定义框架在列上占据框架集的面积
frameborder

0:无边框

1:有边框

no:无边框

yes:有边框

定义框架边框
border 数值 设置边框的粗细(适用于 Netscape、Chrome、Firefox、Safari 等大部分主流浏览器)
framespacing 数值 设置边框的粗细(适用于 Internet Explorer 浏览器)
<frame>:框架 src 定义要显示的页面地址
noresize noresize 禁止拖拉边框
scrolling

auto:自动判断是否显示滚动条

yes:显示滚动条

no:不显示滚动条

定义滚动条是否显示
name 定义框架名称
<noframes> 为不支持框架的浏览器显示文本

框架语法

框架语法并不复杂:

  • <frameset> 标签的 rowscols 属性定义框架在行或列上占据框架集(屏幕)的面积,属性值为数值 | 百分比 | 星号(*),单位默认像素(px)。
  • <frame> 标签的 src 属性指向要显示的页面地址。
<frameset cols="30%,70%">
	<frame src="url" />
	<frame src="url" />
</frameset>

框架与 <body> 的关系

不推荐同时使用框架和 <body> ,因为两者的关系比较复杂,通常会引发不可预知的问题:

关系 示例 结果
框架嵌套在 <body> 里面
<body>
	<p>笔记本代码</p>
	<frameset cols="25%,75%">
		<frame src="html-tutorial.html" />
		<frame src="html-frames.html" />
	</frameset>
</body>
框架将无法显示,只会显示 body 里的其他 HTML 元素,如 p 元素。
框架在 <body> 之下
<body>
	<p>笔记本代码</p>
</body>
<frameset cols="25%,75%">
	<frame src="html-tutorial.html" />
	<frame src="html-frames.html" />
</frameset>
框架将无法显示,只会显示 body 里的其他 HTML 元素,如 p 元素。
框架在 <body> 之上
<frameset cols="25%,75%">
	<frame src="html-tutorial.html" />
	<frame src="html-frames.html" />
</frameset>
<body>
	<p>笔记本代码</p>
</body>
将会显示框架里的页面,不会显示 body 里的 HTML 元素。

垂直框架

在框架集 <frameset> 中通过 cols 属性设置垂直框架。

属性值,单位默认像素(px):

  • 数值
  • 百分比
  • 星号(*):代指剩余的百分比
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>垂直框架</title>
	</head>
	<frameset cols="25%,45%,*">
		<frame src="http://www.bjbcode.com/" />
		<frame src="html-first.html" />
		<frame src="html-frame.html" />
	</frameset>
</html>
尝试一下

水平框架

在框架集 <frameset> 中通过 rows 属性设置水平框架。

属性值,单位默认像素(px):

  • 数值
  • 百分比
  • 星号(*):代指剩余的百分比
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>水平框架</title>
	</head>
	<frameset rows="25%,45%,*">
		<frame src="http://www.bjbcode.com/" />
		<frame src="html-first.html" />
		<frame src="html-frame.html" />
	</frameset>
</html>
尝试一下

框架边框

框架默认有边框线,可以在框架集 <frameset> 中通过 frameborderborderframespacing 属性对边框线进行设置。

  • frameborder 属性值:

    • 0:无边框
    • 1:有边框
    • no:无边框
    • yes:有边框
  • border :设置边框的粗细(适用于 Netscape、Chrome、Firefox、Safari 等大部分主流浏览器)。

  • framespacing :设置边框的粗细(适用于 Internet Explorer 浏览器)。

去除边框

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>去除框架边框</title>
	</head>
	<frameset cols="25%,75%" frameborder="0">
		<frame src="html-first.html" />
		<frame src="html-frame.html" />
	</frameset>
</html>
尝试一下

使用 frameborder 属性去除边框时,可以对 <frameset> 设置,也可以单独对某个 <frame> 设置,两者的区别在于:

  • 对 <frameset> 去除边框后用户无法再通过拖动边框改变框架大小。
  • 对 <frame> 去除边框后依然可以通过拖动边框改变框架大小(此规则不适用于 Internet Explorer 浏览器)。

设置边框宽度

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>设置框架的边框宽度</title>
	</head>
	<frameset cols="25%,75%" frameborder="1" border="30" framespacing="30">
		<frame src="html-first.html" />
		<frame src="html-frame.html" />
	</frameset>
</html>
尝试一下

禁止拖拉边框

默认情况下,框架都有边框,可以通过拖拉边框改变框架的大小。

如果需要禁用这项功能,则可以在 <frame> 标签中通过 noresize 属性设置:noresize="noresize" 。

若页面不能完整显示,可以通过 scrolling 属性设置滚动条是否显示。

scrolling 属性值:

  • auto:自动判断是否显示滚动条
  • yes:显示滚动条
  • no:不显示滚动条
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>禁止拖动边框</title>
	</head>
	<frameset cols="25%,75%">
		<frame src="html-first.html" noresize="noresize" />
		<frame src="html-frame.html" scrolling="no" />
	</frameset>
</html>
尝试一下
noresize 属性禁止拖动边框通常写做 noresize="noresize",但也可以简写为 noresize 。

框架名称

可以使用 name 属性对每个框架进行命名。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>框架名称</title>
	</head>
	<frameset cols="25%,75%">
		<frame src="html-first.html" name="frame_1" />
		<frame src="html-frame.html" name="frame_2" />
	</frameset>
</html>
尝试一下

noframes 标签

当浏览器不能处理框架的时候,可以使用 <noframes> 标签进行说明。

noframes 元素位于 frameset 元素内部。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>noframes 标签</title>
	</head>
	<frameset cols="25%,75%">
		<frame src="html-frame.html" />
		<frame src="http://www.bjbcode.com/" />
		<noframes>
			<p>您的浏览器无法处理框架!</p>
		</noframes>
	</frameset>
</html>
尝试一下