frameset与frame页面布局

简介: frameset与frame页面布局

浏览器窗口布局,也是web项目必备的知识。

       要想让页面整齐有序,就需要给窗口分区域,就像本子上写字一样,遵循一定的规则,比如:上留天下留底,左右留边距,这样看起来会更美观。web页面布局用到的知识点就是html的<frameset>标签。把浏览器的整个页面按照行列规则分成一块儿一块儿的,把这片儿分好了,才好“种庄稼”。

下面看两个例子:

1. <frameset name="testFrame" rows="50%,*" cols="*" frameborder="no" border="0" framespacing="0">
2. <frame src="${pageContext.request.contextPath}/getLeftTree.action" name="LeftFrame" scrolling="no" id="LeftFrame"  />
3. <frame src="${pageContext.request.contextPath}/getMainForm.action" name="MainFrame" scrolling="NO"  noresize="noresize" id="MainFrame">
4. </frameset>

       导航跳页面用的struts2。


1. <frameset rows="103,*,43" frameborder=0 border="0" framespacing="0">
2. <frame src="${pageContext.request.contextPath}/admin/top.jsp" name="topFrame" scrolling="NO" noresize>
3. <frameset cols="159,*" frameborder="0" border="0" framespacing="0">
4.  <frame src="${pageContext.request.contextPath}/admin/left.jsp" name="leftFrame" noresize scrolling="YES">
5.  <frame src="${pageContext.request.contextPath}/admin/welcome.jsp" name="mainFrame">
6. </frameset>
7. <frame src="${pageContext.request.contextPath}/admin/bottom.jsp" name="bottomFrame" scrolling="NO"  noresize>
8. </frameset>

       导航跳页面直接跳的jsp。


标签解析:

<frameset></frameset>

       frameset 元素可定义一个框架集。它被用来组织多个窗口(框架)。组织好在页面显示。

<frame></frame>

        <frame> 标签定义 frameset 中的一个特定的窗口(框架)。嵌套在<frameset>标签中使用。

<noframes></noframes>

       在<frameset>标签中使用,如果浏览器不支持<frameset>框架,可以用它来提示消息。


属性解析:

       <frameset>的 rows:设置有多少行,rows="103,*,43"表示有三行,第一行高103px,第三行高43px,中间一行占剩余的部分。rows="50%,*"表示有两行,第一行占50%,第二行占剩余的。

       <frameset>的cols:设置有多少列,cols="*"表示有一列,

       在rows和cols中属性值可以设置:* 代表自适应,% 代表百分比,数字 代表多少px,它们代表的意义一样。是frameset必备属性。

       W3School解释了当设置的rows或cols属性值超出浏览器边界时的处理情况:

       与表格一样,浏览器在显示时会尽可能接近给定的框架集尺寸。但是,浏览器不会为了能够容纳下超出边沿的框架集而扩展文档窗口的边界,也不会在指定的框架没有填满整个窗口时用空白区域来填满窗口。相反,浏览器会根据一个框架在行和列中相对于其他框架的大小来分配空间,这样就能够填满整个文档窗口了。


       <frame>的scrolling:控制此窗口中是否显示滚动条,可以设置auto,yes,no。

       <frame>的noresize="noresize":控制边框是否可移动,设置此属性的frame或者frameset,则它周边的边都是不可移动的。


后记:

       越来越发现,很多东西还仅限于浅浅的知道,不能熟练的操作,深入的理解。

       只有把一样东西能给别人说明白了,自己也就理解了。

另:

       frameset和frame中的name属性很有用,目前还有点迷惑不知道怎么用,理解了再补充,希望大家能解惑。


相关文章
|
网络协议 网络架构
计算机网络期末复习——计算大题(一)
计算机网络期末复习——计算大题(一)
661 0
计算机网络期末复习——计算大题(一)
|
网络协议 网络安全 Python
Python网络编程基础(Socket编程) 错误处理和异常
【4月更文挑战第10天】网络编程涉及到很多复杂的操作和潜在的风险,如连接失败、数据丢失、超时等问题。因此,正确的错误处理和异常捕获是确保网络程序稳定性和可靠性的关键。本章将介绍网络编程中常见的错误和异常,并探讨如何在Python中进行有效的错误处理。
|
12月前
|
前端开发 Java Spring
springbootWeb常用注解使用
本文概述了Spring Boot Web中处理HTTP请求的常用注解,包括`@PathVariable`、`@RequestHeader`、`@RequestParam`、`@RequestBody`、`@ModelAttribute`和`@CookieValue`的用法及其示例。
springbootWeb常用注解使用
|
11月前
|
存储 安全 关系型数据库
后端技术深度剖析:构建高效稳定的企业级应用
【10月更文挑战第5天】后端技术深度剖析:构建高效稳定的企业级应用
247 0
|
消息中间件 存储 运维
从 Kafka 2.x 到 Kafka 3.x:升级之旅
从 Kafka 2.x 到 Kafka 3.x:升级之旅
2552 2
|
人工智能 安全 物联网
操作系统的未来:从多任务处理到量子计算
随着科技的飞速发展,传统的操作系统已经无法满足现代社会的需求。本文将探讨操作系统的发展历程,从最初的单任务处理到现在的多任务处理,再到未来的量子计算。我们将深入分析现代操作系统面临的挑战,以及如何通过创新和技术进步来克服这些挑战。最后,我们将展望操作系统的未来,探讨它将如何影响我们的生活和工作。
112 29
|
负载均衡 网络协议 安全
DNS解析中的Anycast技术:原理与优势
【9月更文挑战第7天】在互联网体系中,域名系统(DNS)将域名转换为IP地址,但网络规模的扩张使DNS解析面临高效、稳定与安全挑战。Anycast技术应运而生,通过将同一IP地址分配给多个地理分布的服务器,并依据网络状况自动选择最近且负载低的服务器响应查询请求,提升了DNS解析速度与效率,实现负载均衡,缓解DDoS攻击,增强系统高可用性。此技术利用动态路由协议如BGP实现,未来在网络发展中将扮演重要角色。
921 0
|
程序员 iOS开发 开发者
iOS开发:报错‘Unknown class ViewController in Interface Builder file’解决方法
在iOS开发过程中,会遇到一些比较常见的错误,尤其是刚入门的初级开发者,如果不熟练的话就会出错,本篇博文就来分享一个常见的问题,即报错‘Unknown class ViewController in Interface Builder file’的解决方法。
595 1
iOS开发:报错‘Unknown class ViewController in Interface Builder file’解决方法
|
Java 程序员
Java中的强制类型转换(Explicit Type Casting)
Java中的强制类型转换(Explicit Type Casting)
773 0
|
弹性计算 固态存储 调度
阿里云服务器部署配置选择全攻略,ECS实例规格、CPU内存配置
阿里云服务器部署配置选择全攻略,ECS实例规格、CPU内存配置,CPU内存、公网带宽和系统盘怎么选择?个人用户选择轻量应用服务器或ECS通用算力型u1云服务器,企业用户选择ECS计算型c7、通用型g7云服务器,阿里云百科分享阿里云服务器配置选择方法