All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
如何让javascript,操作Cookie_php资料_编程技术
C#教程:WebClient类使用实例
ASP.NET:一段比较经典的多线程学习代码_[Asp.Net教程]
确保PHP安全,不能违反的四条安全规则_php资料_编程技术
巧用VS2005解决VS2005网站发布不便问题_[Asp.Net教程]
ASP.NET自动检测用户名是否注册(利用AJAX技术)_[Asp.Net教程]
应用技巧:用PHP正则表达式清除字符串的空白_php资料_编程技术
SQL,Server数据库开发的二十一条军规(SQL收藏)_mssql学习_编程技术
关于XHTML头部声明,什么是DOCTYPE?_[Html教程]
PHP编程52个经典小技巧_[PHP教程]
Reading number is top 10 pictures
Gang rape
Seductive beauty of crime2
The money of more than 100 countries and regions9
NeedWallpaper13
Sell the barbecue as says father du breul5
陪睡门马睿菈自曝写真 称首拍大尺度照片1
Fan bingbing black wings for platform and DanLuoWang believes beauty2
采访谢楠
分手的感悟
史上最大的哺乳动物迁移
Download software ranking
Tram sex maniac 2 (H) rar bag9
Call Of Duty5
Jinling thirteen stock
jdk1.6 for windows
I'm come from Beijing1
株洲本地在线棋牌游戏
Rio big adventure
Sora aoi 120 minutes
双旗镇刀客A
C++教程第四版
归海一刀 published in(发表于) 2014/3/30 5:36:32 Edit(编辑)
网页设计必学:快速精通网页框架FRAME_[Html教程]

网页设计必学:快速精通网页框架FRAME_[Html教程]

网页设计必学:快速精通网页框架FRAME_[Html教程]

  FRAME(框架)是Web上经常会看到的页面结构。使用可视Web开发工具(比如Dreamweaver或者Frontpage),虽然可以在WYSIWYG环境中通过简单的鼠标托拽完成FRAME的构建,但是要实现真正细致甚至强大的功能,仔细理解FRAME的代码结构至关重要!你将发现,FRAME原来是这样的亲切易用。


  创建基本的FRAMESET


  FRAMESET页面与普遍的Web页面有些不同。虽然仍旧以和包含标题的标记以及其他脚本开始,但是其内容仅仅是表示的各个页面的版式设计。因此,不再需要有元素,只需要标记。


  通过标记的属性,浏览器窗口被分割为一个个格子。的设置值可以是固定的像素值,可以是总空间的百分比值,还可以是用*以及一个数字相乘表示的分割剩余空间的比例值。比如说:


cols="80,20%,*" 分为3列,宽度分别为80像素,窗口宽度的20%,以及剩余宽度
rows="25%,75%" 分为2列,宽度分别为窗口宽度的25%和75%
rows="*,3*" 与上述第2个表示的一样,分为2列,但表示方法不同:第一列宽度为第二列的1/3


  在和之间,用多个标记表示每个分割区。col表示从左到右的列,row表示从上到下的行。每个有一个src属性,给出了这个FRAME的内容。它可以是浏览器能显示的任何一个合法URL,或者是另外一个FRAMESET。为预防递归现象,一个FRAME不能包含它本身所在的FRAMESET页面。要用name属性定义FRAME的名字,这样就可以在代码或者脚本程序中引用它。 请看一段基本的FRAMESET代码:




Simple FRAMESET


















  FRAME间的链接


  一个FRAMESET结构的页面,新文档只转载进窗口的一部分中,而其他页面则保持静态不变。当用户点击FRAME中的链接时,新内容就在同一FRAME内打开。要让新内容在其他FRAME中打开,可以设置标记的target属性值为那个FRAME的name值。


  而且,我们还可以设置打开目标为当前可见的任意一个FRAME,而不局限于本身的FRAMESET。目标可能是一个嵌套的FRAMESET中的FRAME,也可能是其他窗口中的FRAME。但是如果目标FRAME不存在,就会产生一个带有目标FRAME名字的新窗口。


  下面举个例子说明一下,假设有一个简单含2-FRAME的FRAMESET,文件名叫做home.html,代码如下:



FrommCo home page





  文件menu.htm在左边的FRAME中,其中有一系列链接,点击它们后新内容将在右边的叫做content的FRAME中打开。下面是menu.html的代码:






Main page


Our mission


Our staff


FrommCo splash page


  请注意最后一个链接中target的定义为_parent,这属于4个特殊的保留值。它们是:


_parent:在当前FRAMESET位置显示新href。
_top:在当前整个窗口位置显示新href,比如本身FRAMESET位于另一个FRAMESET中。
_self:强制在当前FRAME中显示新href。
_blank:在新窗口中显示href。


  表示客户端图形地图的标记同样可以应用target属性,比如:


  


  还有一种经常的情况是:Web页面中的大部分或者全部链接都要求在一个特别的FRAME中打开。这时,可以在页面的代码区使用标记设置默认的target,然后再分别定义特殊链接的target值。


  修饰FRAME


  FRAMESET不仅在宽度、高度等方面具有可控制的数值,在美观方面也同样可以精确设置。


  默认情况下,FRAMESET的FRAME间有一个凸起的边沿,表示分割效果。如果不喜欢这个,想营造“无缝连接”的效果,可以在标记中设置FRAMEborder=0来消除它。在3.0及高版本的Navigator和Internet Explorer中,如果在标记中设置FRAMEborder=0,那么除了设置为FRAMEborder=1的FRAME外,所有其他FRAME的边沿都将消失。


  虽然设置了FRAMEborder=0,有些浏览器仍旧会在FRAME间保留一些边沿的颜色痕迹。这时,可以在标记中添加FRAMEspacing=0(对Internet Explorer)或者border=0(对Navigator和Opera)实现真正的无缝连接。


  请看下面的代码是如何使用这些属性的:



FrommCo home page





  上面的代码中有2个新的属性:noresize表示锁住FRAME而不允许使用鼠标改变大小,scrolling=no表示屏蔽FRAME的滚动条,scrolling=yes表示允许,scrolling=auto表示根据显示内容需要自动显示滚动条。


  浮动FRAME


  浮动FRAME是HTML4.0规范中的一个定义,目前的浏览器都支持它。


  不象FRAMESET表示的分割区样子,一个浮动FRAME作为一个内置对象存在于Web页面上,其样式就象一个页面上的一个图形或者一个applet。浮动FRAME使用

Show one.htm


Show two.htm


Bring back start.htm


  注意,对应支持间的内容都将忽略。反之,其中的内容将显示出来,这可以用作解释当前浏览器不支持
onClick="if (!self.FRAMEs.length)
this.target='_top'">See grot.htm


  带有浮动FRAME的Web页面是FRAME文档的parent窗口,因此,多个浮动FRAME仍然可以通过parent.FRAME数组去访问每一个FRAME。


  预防脚本编程错误


  尽管FRAME是HTML的一个稳定规范说明,但DOM模型只把它们当做HTML元素而不是窗口,因此围绕FRAME的脚本编程并不是能很周全地定义。这个不足导致了当装载FRAME时会发生一些脚本执行方面的冲突。


  立即修改FRAME内容的脚本经常会产生错误。原因在于:浏览器通常是先执行脚本命令,然后在按照src所示装入页面内容。


  解决方法很直接,就是判断FRAME内容是否装载完毕。有一个好的处理技巧是以HTML页面开始所有的FRAME,由它象主FRAMESET报告装载请看。比如说,有一个FRAMESET页面,要等装载完所有的FRAME后才能执行函数goToIt(),那么就将下面的JavaScript程序段放进FRAMESET文档中:


countDown=FRAMEs.length;
function soundOff() {
countDown--;
if (countDown==0) {
goToIt();
}
}
  然后,在每个FRAME页面的标记中设置上onLoad="parent.soundOff()"。当FRAME页面装载并执行soundOFF()后,等到countDown 为0时,就表示FRAME完全装载完毕。


  总结


  FRAME是双刃剑,使用不好会造成混乱的站点结构和外观,使用得当将大大方便用户的操作方式以及形成清晰的页面风格。相信你看完本文后,会对FRAME有了更亲切的认识。







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.