本章目标:掌握框架结构<frameset><frame><iframe>
掌握组织元素:span和div

本章重点:框架结构<frameset><frame><iframe>

本章难点:框架的搭建

一、   
框架

使用框架,可以在一个浏览器窗口中显示不止一个HTML文档。这样的HTML文档被称为框架页面,它们是相互独立的。:

使用框架的不利因素有:

  • 网站开发者需要关心更多HTML文档的情况。
  • 打印整个页面变得困难。

frameset标签:

  • <frameset>标签定义了如何将窗口拆分成框架。
  • 每个frameset标签定义了一组行和列。
  • 行/列的值指明了每个行/列在屏幕上所占的大小

frame标签:

  • <frame>标签定义了每个框架中放入什么文件。

下面这个例子中,有一个两列的分栏。第一个被设置成窗口宽度的25%,第二个被设置成窗口宽度的75%。页面“frame_a.htm”被放在第一个分栏中,“frame_b.htm”被放在第二个分栏中。

基本注意点——有用的技巧:

假如一个框架有可见边框,用户可以拖动边框来改变它的大小。如果不想让用户改变大小,可以在<frame>标签中加入:noresize="noresize"。

给不支持框架的浏览器写上<noframes>标签。

更多示例:

混合框架:

<html>

<frameset rows="50%,50%">

<frame
src="frame_a.htm">

<frameset
cols="25%,75%">

<frame
src="frame_b.htm">

<frame
src="frame_c.htm">

</frameset>

</frameset>

</html>

这个例子说明了怎样把三个页面以行列混合的方式放在框架中。

使用了noresize="noresize"的框架:

<html>

<frameset rows="50%,50%">

<frame
noresize="noresize" src="frame_a.htm">

<frameset
cols="25%,75%">

<frame
noresize="noresize" src="frame_b.htm">

<frame
noresize="noresize" src="frame_c.htm">

</frameset>

</frameset>

</html>

这个例子说明了noresize属性。这个框架是不可改变大小的,把鼠标移动到框架边界上,你会发现无法调整大小。

导航框架:

<html>

<frameset cols="120,*">

<frame
src="frame_link.htm">

<frame
src="frame_a.htm" name="showframe">

</frameset>

</html>

这个例子说明了如何创建一个导航框架。导航框架包含了一系列链接,它们的目标页面在第二个框架中。文件“frame_links.htm”包含了三个链接,链接的代码如下:

内联框架:

<html>

<body>

<iframe
src="intro.htm"></iframe>

<p>Some older browsers don't support
iframes.</p>

<p>If they don't, the iframe will not
be visible.</p>

</body>

</html>

这个例子说明了如何创建一个内联框架(包含在HTML页面里的框架)。

在框架内跳转到指定章节:

<html>

<frameset cols="30%,70%">

<frame
src="frame_a.htm">

<frame
src="frame_section.htm#C10">

</frameset>

</html>

这个例子显示了两个框架页。其中一个的源是一个文件的指定章节,该章节在文件“frame_section.htm”中使用代码<a name="C10">指定。

使用导航框架跳转到指定章节:

<html>

<frameset
cols="200,*">

<frame
src="frame_linksection.htm">

<frame src="frame_section.htm"
name="showframe">

</frameset>

</html>

这个例子显示了两个框架页。左边的导航框架包含了一系列以第二个框架为目标的链接(“frame_linksection.htm”),第二个框架显示链接文件(“frame_section.htm”)。导航框架中的一个链接指向目标文件中的指定章节。文件“frame_link”中的HTML代码是像这样的:

二、   
组织元素:span和div

span和div元素用于组织和结构化文档,并经常联合class和id属性一起使用。

用span组织元素

span元素可以说是一种中性元素,因为它不对文档本身添加任何东西。但是与CSS结合使用的话,span可以对文档中的部分文本增添视觉效果。

让我们用一句本杰明·弗兰克林(Benjamin Franklin)的名言来举个例子:

假设我们想用红色来强调弗兰克林先生所认为的“不要在睡眠中度过一天”的好处,我们可以用<span>标签来标记上述每一点好处。然后,我们将这几个span设置为相同的class。这样,我们稍后就可以在样式表里针对这个class定义特定的样式。

相应的CSS代码如下:

用div组织元素:

如前面例子所示,span的使用局限在一个块元素内,而div可以被用来组织一个或多个块元素。

除去这点区别,divspan在组织元素方面相差无几。让我们来看一个例子。

HTML 中框架、层的运用的更多相关文章

  1. java中Action层、Service层和Dao层的功能区分

    Action/Service/DAO简介: Action是管理业务(Service)调度和管理跳转的. Service是管理具体的功能的. Action只负责管理,而Service负责实施. DAO只 ...

  2. Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6642463 在前面几篇文章中,我们详细介绍了A ...

  3. Android应用程序框架层和系统运行库层日志系统源代码分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6598703 在开发Android应用程序时,少 ...

  4. Java中Action层、Service层、Modle层和Dao层的功能区分

    一.Java中Action层.Service层.Modle层和Dao层的功能区分: 首先,这是现在最基本的分层方式,结合了SSH架构. modle层就是对应的数据库表的实体类.(即domain) Da ...

  5. Android环境下通过C框架层控制WIFI【转】

    本文转载自:https://blog.csdn.net/edw200/article/details/52192631 本人是从事Linux嵌入式开发的,安卓wifi控制在安卓JAVA层已经做得非常成 ...

  6. MVC5中Model层开发数据注解 EF Code First Migrations数据库迁移 C# 常用对象的的修饰符 C# 静态构造函数 MSSQL2005数据库自动备份问题(到同一个局域网上的另一台电脑上) MVC 的HTTP请求

    MVC5中Model层开发数据注解   ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证( ...

  7. 四、spring集成ibatis进行项目中dao层基类封装

    Apache iBatis(现已迁至Google Code下发展,更名为MyBatis)是当前IT项目中使用很广泛的一个半自动ORM框架,区别于Hibernate之类的全自动框架,iBatis对数据库 ...

  8. Android 应用框架层 SQLite 源码分析

    概述   Android 在应用框架层为开发者提供了 SQLite 相关操作接口,其归属于android.database.sqlite包底下,主要包含SQLiteProgram, SQLiteDat ...

  9. TCP/IP中链路层的附加数据(Trailer数据)和作用

    1.TCP/IP中链路层的附加数据是什么 在用wireshark打开报文时,链路层显示的Trailer数据就是附加数据,如图 2.如何产生 1.例如以太网自动对小于64字节大小的报文进行填充(未实验) ...

  10. 【Protle99SE】PCB中各层的含义【小汇】

    忽然发现,对solder和paste,layer和plane这两对有些糊涂了,摘录网络中的文章如下: [http://www.360doc.com/content/10/0608/15/514342_ ...

随机推荐

  1. Android传感器的介绍

    在Android2.3 gingerbread系统中,google提供了11种传感器供应用层使用. #define SENSOR_TYPE_ACCELEROMETER       1 //加速度#de ...

  2. IntelliJ IDEA 学习(四)Idea逆向生成数据库实体类

    第一步配置 数据库 第二步  配置hibernate,如果没有cfg.xml文件,点击ok后会自动生成 第三步 选择hibernate配置文件生成实体 第四步 设置完点击,选中要生成的实体的表 注意: ...

  3. 算法笔记_075:蓝桥杯练习 最短路(Java)

    目录 1 问题描述 2 解决方案 2.1 floyd算法解决 2.2 spfa算法解决   1 问题描述 问题描述 给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环).请你计算从 ...

  4. 算法笔记_065:分治法求逆序对(Java)

    目录 1 问题描述 2 解决方案 2.1 蛮力法 2.2 分治法(归并排序)   1 问题描述 给定一个随机数数组,求取这个数组中的逆序对总个数.要求时间效率尽可能高. 那么,何为逆序对? 引用自百度 ...

  5. 安卓camera拍照时序

    转自:http://blog.csdn.net/tankai19880619/article/details/17147125 一.看看调用时序图 1.拍照命令时序图 2.拍照数据回调时序图 二.看看 ...

  6. Android实战技巧之三十八:Handler使用中可能引发的内存泄漏

    问题描写叙述 曾几何时,我们用原来的办法使用Handler时会有以下一段温馨的提示: This Handler class should be static or leaks might occur ...

  7. maven自动打包到tomcat 8

    <build> <finalName>maven-project</finalName> <plugins> <plugin> <gr ...

  8. 使用js+Ajax请求API接口数据-带请求头方式

    C# http请求带请求头部分 先上代码: <script type="text/javascript"> function zLoginCheck() { var A ...

  9. C# 重载和默认参数(那种情况下使用更好)

    当你提供函数,外部因为要传入不同参数个数,重载会导致 外部if增加,  默认参数可以消除外部的if.当外部调用函数需要判断调用那个函数,根据调用次数增多 if跟着调用持续增多两种不同的调用 //重载 ...

  10. struts过滤器的原理

    struts就是充当拦截器(过滤器)的作用.在web.xml配置过滤器, package cn.itcast.framework.core; import java.io.IOException; i ...