一、frameset
1. 属性
①border
设置框架的边框粗细。
②bordercolor
设置框架的边框颜色。
③frameborder
设置是否显示框架边框。设定值只有0、1;0 表示不要边框,1 表示要显示边框。
④cols
纵向分割页面。其数值表示方法有三种:“30%、30(或者30px)、*”;数值的个数代表分成的视窗数目且数值之间用“,”隔开。“30%”表示该框架区域占全部浏览器页面区域的30%;“30”表示该区域横向宽度为30像素;“*”表示该区域占用余下页面空间。例如:cols="25%,200,*" 表示将页面分为三部分,左面部分占页面30%,中间横向宽度为200像素,页面余下的作为右面部分。
⑤rows
横向分割页面。数值表示方法与意义与cols相同。
⑥framespacing
设置框架与框架间的保留的空白距离。
2. 用例
<frameset cols="213,*" frameborder="no" border="0" framespacing="0">
注意1:
cols与rows两属性尽量不要同在一个<frameset>标签中使用。若要实现下图架构,代码正确写法为:
Frameset使用教程
<frameset rows="59,*" cols="*" frameborder="no" border="0" framespacing="0">
<frame src="???" name="topFrame" scrolling="No" noresize="noresize" id="topFrame"/>
<frameset cols="213,*" frameborder="no" border="0" framespacing="0">
<frame src="???" name="leftFrame" scrolling="No" noresize="noresize" id="leftFrame"/>
<frame src="???" name="mainFrame" id="mainFrame"/>
【即,若想即使用cols又使用rows,可利用frameset嵌套实现】
注意2:
<frameset cols="40%,*,*">
意思是:第一个框架占整个浏览器窗口的40%,剩下的空间平均分配给另外两个框架。
<frameset cols="*,*,*,*">
意思是:浏览器窗口等分为四部分。
二、frame
1. 属性
①name
设置框架名称。此为必须设置的属性。
②src
设置此框架要显示的网页名称或路径。此为必须设置的属性。
③scrolling
设置是否要显示滚动条。设定值为auto, yes, no。
④bordercolor
设置框架的边框颜色。
⑤frameborder
设置是否显示框架边框。设定值只有0、1;0 表示不要边框,1 表示要显示边框。
⑥noresize
设置框架大小是否能手动调节。
⑦marginwidth
设置框架边界和其中内容之间的宽度。
⑧marginhight
设置框架边界和其中内容之间的高度。
⑨width
设置框架宽度。
⑩height
设置框架高度。
2. 用例
<frame src="???" name="topFrame" scrolling="No" noresize="noresize" marginwidth="10" marginhight="10" width="400" height="800" />
3.
Iframe父页面与子页面之间的相互调用
Iframe父页面与子页面之间的相互调用 父页面: 复制代码 <!DOCTYPE html> <html> <head> <title>parents</title> <meta charset="UTF-8"> </head> <body> <div id="default">div内容</div> <iframe src="child.html" id="child"></iframe> <script language="javascript" type="text/javascript"> function sayhello() { alert('Hello World!'); } var value = 'value'; child.contentWindow.test(); </script> </body> </html> 复制代码 子页面: 复制代码 <!DOCTYPE html> <html> <head> <title>child</title> <meta charset="UTF-8"> <script language="javascript" type="text/javascript" src="js/jquery.min.js"></script> <script language="javascript" type="text/javascript"> $(function() { //在iframe子页面中查找父页面元素 alert($('#default', window.parent.document).html()); //在iframe中调用父页面中定义的变量 alert(parent.value); //在iframe中调用父页面中定义的方法 parent.sayhello(); }); function test() { alert('我是子页面!'); } </script> </head> <body> <div>iframe子页面内容</div> </body> </html>
四、iframe
是浮动的框架(frame),其常用属性与frame类似,其他的主要有以下(相同的就不列举了)
1. 属性
①align
设置垂直或水平对齐方式
②allowTransparency
设置或获取对象是否可为透明。
2. 用例
<iframe name="123" align="middle" marginwidth="0" marginheight=0 src="???" frameborder="0" scrolling="no" width="776" height="2500"></iframe>
注意:
iframe标签与frameset、frame标签的验证方法不同,是XHTML 1.0 Transitional。且iframe是放在body标签之内,而frameset、frame是放在body标签之外。
五、综合示例
<html>
<head>
<title>综合示例</title>
</head>
<frameset cols="25%,*">
<frame src="menu.htm" scrolling="no" name="Left">
<frame src="page1.htm" scrolling="auto" name="Main">
<noframes>
<body>
<p>对不起,您的浏览器不支持“框架”!</p>
</body>
</noframes>
</frameset>
</html>
【说明】
<noframes></noframes>标志对也是放在<frameset></frameset>标志对之间,用来在那些不支持框架的浏览器中显示文本或图像信息。在此标志对之间先紧跟<body></body>标志对,然后才可以使用我们熟悉的任何标志。
最后需要说明一点:
如果将代码按照我以上所写写到VS中报错的话,例如:
Frameset使用教程
或者
Frameset使用教程
解决方法如下:
工具→选项→文本编辑器→HTML→验证→Internet Explorer 6.0
好了,通过以上内容,大家再多加练习,就会慢慢熟悉frame的相关知识了,用好了的话你会发现真的挺好。至于frame系列标签的事件方法,一般用的不是非常多,需要的话,大家自己再查吧。【
】
以上网络不推荐,如果新手,那么frame框架就是个坑,需要解决很多问题,建议实际在用可尝试以下其中之一使用
这段代码可去除滚动条,并全屏显示,推荐:
<iframe name="manage" src="first.html" scrolling="no" frameborder="0" width="100%" onload="this.height=0;var fdh=(this.Document?this.Document.body.scrollHeight:this.contentDocument.body.offsetHeight);this.height=(fdh>700?fdh:700)" ></iframe>
为避免弹框问题可是尝试本人使用的:
但有一个问题,主页面的类名不能和分页面的类名写一样
方式一:
<ul id="left-Logo"> <li><a target="depart-Manage.aspx" onselectstart="return false;">管理1</a></li> <li><a target="account-Manage.aspx" onselectstart="return false;">管理2</a></li> <li><a target="task-Manage.aspx" onselectstart="return false;">管理3</a></li> <li><a target="bug-Overview.aspx" onselectstart="return false;">概况</a></li> <li><a target="bug-me.aspx" onselectstart="return false;">分配1</a></li> <li><a target="commit-record.aspx" onselectstart="return false;">分配2</a></li> <li><a target="bug-all.aspx" onselectstart="return false;">所有</a></li> <li><a target="bug-count.aspx" onselectstart="return false;">统计</a></li> <li class="left-four"><a target="bug-Manage.aspx" onselectstart="return false;">管理</a></li> </ul>
<div id="right">
</div>
$.get("first.aspx", function (data) { $("#right").html(data); }); $("#left-Logo li").click(function () { var current = $(this); $("#left-Logo li").css("background", "#1f64a5"); $("#left-Logo li a").css("color", "#168edf"); $(this).css("background", "#3a8fd2"); $(this).children().css("color", "#e6f2fd"); target = current.find('a').attr('target'); $.get(target, function (data) { $("#right").html(data); }) });
方式二:
<div class="manage"> <!--导航--> <div class="manage-header"> <ul> <li target="manage" title="person-Manage" class="two"> <a>管理</a> <ul class="selectlist"> <li title="depart-Manage,点击文字"> <a target="manage" href="depart-Manage.html">管理1</a> </li> <li title="account-Manage,点击文字"> <a target="manage" href="account-Manage.html">管理2</a> </li> </ul> </li> <li title="task-Manage,点击文字"> <a target="manage" href="task-Manage.html">管理3</a> </li> <li title="bug-Submit,点击文字"> <a target="manage" href="bug-Manage.html">管理4</a> </li> </ul> <div class="exit"> <span>退出</span> </div> </div> <!--内容--> <iframe name="manage" src="first.html" scrolling="no" frameborder="0" width="100%" onload="this.height=0;var fdh=(this.Document?this.Document.body.scrollHeight:this.contentDocument.body.offsetHeight);this.height=(fdh>700?fdh:700)" ></iframe> </div>
方式三:使用load()
$(document).ready(function(){ $("#h1").load("first.html"); $("#h2").load("second.html"); $("#h3").load("third.html"); $("#h4").load("fourth.html"); })