XHTML 框架概述

框架的使用可以让浏览器“分割”成多个页面显示内容,常用于如网站后台管理这些菜单项目固定,且对美观性和搜索引擎要求不高的地方。

框架的优缺点

  • 框架方便制作栏目导航,操作各栏目时不需要重新载入整个页面
  • 框架会产生较多页面,不易管理
  • 不容易打印整个框架页面
  • 对搜索引擎不友好

基于框架的以上特点,目前框架几乎只用于系统后台管理中,而不建议使用于页面展示中。

上下框架

我们以最简单的上下框架来分析框架的原理。

创建一个名字为frame.html新页面,关键代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html>
<title>框架示例</title>
</head>
<frameset rows="15%,*">
<frame src="frame_top.html" />
<frame src="frame_main.html" />
<noframes>
<body>
<p>对不起,您的浏览器不支持框架!</p>
</body>
</noframes>
</frameset>
</html>

注意:使用框架必须将 DTD 设置为 xhtml1-frameset 。

再创建两个普通html页面,分别为 frame_top.html 和 frame_main.html ,内容可以是任意普通文本之类的。

将以上三个页面保存在同一目录下。在浏览器里打开 frame.html ,在 frame.html 里将显示上下两部分内容,分别对应的是 frame_top.html 和 frame_main.html 。

上下框架示意图:

语法分析

  1. 框架要是用其特有的 DTD 声明(xhtml1-frameset)。
  2. 框架标签为 <frameset></frameset> ,它表示设置一个框架。
  3. 标签的 rows 属性确定了框架是上下分割以及分割的比例。
  4. <frame /> 标签的 src 属性指定各个框架对应的 html 页面来源。
  5. <noframes> 标识浏览器不支持框架时显示的内容。

混合框架

该混合框架先将页面做上下分割,然后再将下面的页面做左右分割。

新创建一普通 html 页面,命名为 frame_left.html 并存储于和 frame.html 同一目录下。

将 frame.html 代码变更如下:

<html>
<title>框架示例</title>
</head>
<frameset rows="15%,*">
<frame src="frame_top.html" />
<frameset cols="15%,*">
<frame src="frame_left.html" />
<frame src="frame_main.html" />
</frameset>
<noframes>
<body>
<p>对不起,您的浏览器不支持框架!</p>
</body>
</noframes>
</frameset>
</html>

该例子示意图:

语法分析

  1. 如果要做再次分割,可以在框架标签内嵌套框架标签来实现。
  2. 标签的 cols 属性确定了框架是左右分割以及分割的比例。
  3. 我们可以根据框架的原理以及 rows 和 cols 属性来制作更为复杂的框架结构。

【转】frameset 框架集使用语法,常用语后台。的更多相关文章

  1. Frameset框架集的应用

    Frameset框架集常用于写网站后台页面,大多数"T字型"布局后台页面,就是应用Frameset框架集来做的.Franeset框架集的优点是,他可以在同浏览器窗口显示不同页面内容 ...

  2. asp.net Frameset框架集的嵌套使用

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Frame.aspx.cs& ...

  3. frameset框架集

    frame使用注意事项: 1.frame不能脱离frameset单独使用 2.frame不能放在body标签中,不然不起效果. 3.frame的高度只能由frameset来决定. frameset:是 ...

  4. Frameset 框架集 导航栏 的使用

    在index.jsp中 使用jsp标签转发到制定页面 <body> <jsp:forward page="/admin/frame.jsp"></js ...

  5. html5 frameset5内嵌框架集

    利用html5 frameset内嵌框架简单做一个网页,网页的布局大体如下: 我们可以将其分为四个部分: 第一部分:top图片栏 第二部分:left链接栏 第三部分:right内容栏 第四部分:网页整 ...

  6. 我给女朋友讲编程html系列(3) --html中的超链接标签-a标签 和 框架frame与框架集frameset

    我们浏览网页的时候,当单击某段文字或图片时,就会打开一个新的网页,这里面就使用了超链接. 就比如下图是一个导航类网页,当你单击某个链接就会打开新的网页. 比如,我拿我的qq空间“金河访谈”举例,新建一 ...

  7. HTML框架集之Frameset与Iframe简单应用

    首先我们要明白此框架集的作用: 实现在一个页面中访问多个html页面的目的Frameset的用法: //定义框架集<frameset><frame src="demo.ht ...

  8. 框架集 frameset

    框架集和内联框架的作用类似,都用于在一个页面中引入其他的外部的页面 框架集可以同时引入多个页面,而内联框架引入一个, 在h5标准中,推荐使用框架集,而不使用内联框架 使用 frameset 来创建一个 ...

  9. Frameset框架优缺点--来自新浪微博

    原文地址:http://blog.sina.com.cn/s/blog_4a4b1b010100p6ro.html HTML框架简述   一个浏览器窗体可以通过几个页面的组合来显示.我们可以使用框架来 ...

随机推荐

  1. Jenkins与Docker的自动化CI/CD实战

    Jenkins与Docker的自动化CI/CD实战 互联网Java架构 2018-09-19 15:46:13 一.发布流程设计 工作流程: 开发人员提交代码到Git版本仓库:Jenkins人工/定时 ...

  2. python urllib和urllib3包使用(转载于)

    urllib.request 1. 快速请求 2.模拟PC浏览器和手机浏览器 3.Cookie的使用 4.设置代理 urllib.error URLError HTTPError urllib.par ...

  3. Nginx配置——区分PC或手机访问不同域名以及http跳转https

    新官网上线,但在手机上访问新官网的体验很差,要求在手机上访问新官网时访问旧官网,可以通过修改Nginx配置来实现自动跳转.首先是新官网的Nginx配置文件加个跳转判断,通过user-agent判断来源 ...

  4. JVM总结(一):概述--JVM运行时数据区

    大三下,趁着寒假重温一遍JVM,准备在一个系列来总价一下学习JVM的整个过程.争取在接下来的一个星期内更新完这一个系列,然后回家过年. JVM运行时数据区 线程私有的数据区 程序计数器 虚拟机栈 本地 ...

  5. C++的Enum hack

    从一个例子开始吧 class Game { private: static const int GameTurn = 10; int scores[GameTurn]; }; 对于支持类内初始化的C+ ...

  6. Linux - awk 文本处理工具四

    awk 常用示例 获取本机 IP 方式 /sbin/ifconfig |awk -v RS="Bcast:" '{print $NF}'|awk -F: '/addr/{print ...

  7. python 多进程的启动和代码执行顺序

    对照着廖雪峰的网站学习Python遇到些问题: 在进程中,父进程创建子进程时发现,显示不是按照顺序显示,疑问? 参照代码如下: from multiprocessing import Pool imp ...

  8. Plus One & Plus One Linked List

    Given a non-negative number represented as an array of digits, plus one to the number. The digits ar ...

  9. MySQL 5.6.10 跨平台GTID复制实践

    根据业务需要,建立MySQL复制来实现数据冗余. 1:binlog_format   默认值是:statement 有效值: ROW,基于行的复制 STATEMENT 基于语句级别的复制 MASTER ...

  10. AngularJS里面$emit, $broadcast,$on,$http.Jsonp,constant是使用笔记

    本片主要介绍$emit, $broadcast,$on经常开发的用法!