`
gavin
  • 浏览: 83588 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论
阅读更多
    当今的WEB应用要适应各种不同的大小的显示器,很多HTML元素支持百分比,可以完成比例布局。但实际的布局不只有百分比,也有固定大小的部分,单纯使用百分比是无法实现的。通常要实现这一布局自适应,传统的方法是用frame来实现,但是会存在页面加载不一致、搜索引擎收录困难等问题。现在一般用CSS或javascript技术来实现,有时还需要两者结合使用。
    CSS实现布局主要是靠CSS的绝对定位和边距设置,来看HTML内容:
<body>
	<div id="framecontentLeft">left</div>
	<div id="framecontentTop">top</div>
	<div id="maincontent">content</div>
</body>
三个div标签分别是左边和上边的固定大小部分和可变大小的内容区域。加在以上元素上的样式表如下:
	body{
		margin: 0;padding: 0;border: 0;overflow: hidden;	height: 100%; max-height: 100%; 
	}
	#framecontentLeft, #framecontentTop{
		position: absolute; 	top: 0; left: 0; 	width: 200px; height: 100%;	overflow: hidden;
 		background-color: navy;	color: white;
	}
	#framecontentTop{ 
		left: 200px; right: 0;width: auto;height: 120px; overflow: hidden; 
		background-color: blue;	color: white;
	}
	#maincontent{
		position: fixed;  left: 200px;  top: 120px;	 right: 0;  bottom: 0;	overflow: auto; 
		background: #fff;
	}

上面的样式指定了页面的大小显示区的100%,对左边设置了宽度,对上边设置了高度,对内容区设置了左边距和上边距,都采用绝对定位。如果要继续在内容区中使用百分比,需要把定位方式设置为fixed。大多数现现代浏览器都支持以上样式,fixed和max-height这样的属性IE6不支持,需要添加以下样式:
	* html body{ padding: 120px 0 0 200px; }
	* html #maincontent{ height: 100%; width: 100%; }
	* html #framecontentTop{ width: 100%;}
实现中没有采用css表达式是考虑性能问题将来的浏览器可能不支持。以上方式不支持嵌套,但内容区可以使用百分比。如果内容区有固定大小的元素,还有需要大小自适应的元素,建议使用javascript来计算并设置元素的高度和宽度。
    以CSS方式实现比较简洁,不影响性能,如果是特别复杂的嵌套布局,可以采用javascript布局组件。当前可以选择jquery UI.Layout plug-in 和jLayout。它们的缺点是前者要引入30多K的脚本文件,后者只有几K但是需要页面是XHTML规范。在项目中具体采用哪种方式,要根据非功能性需求来进行选择。
分享到:
评论

相关推荐

    Javascript,Html,Css,Frame框架整合的菜单样式

    在网页设计中,JavaScript、HTML、CSS以及Frame和Frameset框架的整合是构建交互式、动态网站的关键技术。本文将详细解析这些技术如何协同工作,创建出一个具有可收缩左侧菜单和并排子菜单的框架结构。 首先,HTML...

    css3frame:一个 CSS3 帧动画 demo

    《CSS3帧动画详解——基于"css3frame"的实践示例》 在现代网页设计中,CSS3已经成为不可或缺的一部分,它提供了丰富的样式控制和动态效果。尤其在动画领域,CSS3帧动画以其轻量级、高效能和良好的浏览器兼容性,受...

    利用CSS框架进行高效率的站点开发 Elements

    而国外也开始有很多的CSS Frame出现。css框架已经是我们必须研究解决的一个问题。如果更快速、有效、可扩展的去书写站点的CSS代码。这里为大家介绍一个CSS框架 – Elements 下载地址:...

    DIV+CSS实现的框架,仿frameset,支持左侧缩进

    在网页设计领域,`DIV+CSS`是一种广泛采用的技术,用于布局和控制页面元素的样式。这个名为"DIV+CSS实现的框架,仿frameset,支持左侧缩进"的项目,旨在提供一种与传统`frameset`类似的功能,但利用更现代、更灵活的...

    动态加载js、css等文件跨iframe实现

    1、动态加载js,css文件(用原生js和jquery) iframe结构: frame0(父) frame2(子) frame3(子) frame2中触发事件,动态的向frame3中 加载js、css文件和 dom元素? *同级之间可以调用,可以 通过 子-父-子 的方式...

    CSS+DIV练习题

    17. CSS 中的框架样式可以使用 frame、frameset 等属性来设置。 18. 框架样式可以使用 frame shorthand 属性来设置多个属性。 十、 实践题 19. 练习题目包括选择题、填空题、简答题、案例分析题和设计题等多种题型...

    swing 结合css

    而CSS(Cascading Style Sheets)是用于描述网页及应用程序用户界面外观和表现的语言。在HTML和Web开发中,CSS被广泛用来控制页面布局和样式。令人惊喜的是,Swing也支持使用CSS来定制组件的外观,使得桌面应用也能...

    人工智能-项目实践-信息管理系统-利用HTML+CSS3技术设计一个简单的用户信息管理系统

    利用HTML+CSS3技术设计一个简单的用户信息管理系统 二、实验内容 1.使用图像标签,创建一个使用图标...7.使用框架集(frameset标签、frame标签和CSS)或DIV+CSS布局完成项目首页,然后点击菜单时,始终跳转到框架集中。

    html 页面 frame框架 伸缩弹窗

    首先,`frame`是HTML4的一部分,而在HTML5中已经被废弃,推荐使用更现代的布局技术如`&lt;div&gt;`配合CSS的布局模式(如Flexbox或Grid)来实现相同的效果。然而,由于许多网站仍然使用`frame`,了解其工作原理仍然是有...

    frame的用法的傻瓜教程

    现代浏览器更倾向于使用CSS布局(如Flexbox和Grid)来替代frame,因为frame不易于SEO优化,不支持某些功能(如打印),并且在某些情况下可能引起浏览兼容性问题。此外,对于屏幕阅读器和无障碍访问,frame也可能带来...

    通过Dreamweaver.CS3学习HTML+DIV+CSS教学PPT第10章__网页框架Frame

    通过Dreamweaver.CS3学习HTML+DIV+CSS教学PPT第10章__网页框架Frame

    简单的CSS编辑器源代码

    3. "Parser.frame":与"Scanner.frame"类似,这可能是语法分析器(Parser)的框架文件,负责将词法分析的结果转换成抽象语法树,理解CSS规则的结构。 4. "CSS2 v3.png":这可能是一个项目图标或者关于CSS版本的示意...

    CSS_3样式.pdf

    ### CSS3 样式知识点详解 #### CSS3 背景属性 在 CSS3 中,开发者可以使用一系列增强的功能来定制网页元素的背景效果。这些功能不仅提供了更强大的控制能力,还增强了网页的设计美感。 ##### background - **描述...

    静态网站.zip html+css 动态轮播图 跑马灯效果 div+frame容器

    4. `div`与`frame`容器: `div`元素是HTML中的一个块级元素,常用于组合、布局或者应用样式。在网页设计中,`div`经常作为容器元素,通过CSS的`display`属性来控制其布局方式,例如`display: flex`或`display: grid...

    frame页面框架示例

    现代网页设计更倾向于使用CSS布局技术(如Flexbox或Grid)和Ajax来实现类似的效果,同时保持更好的兼容性和可访问性。 综上所述,这个示例主要展示了如何使用`frame`框架来创建一个多部分的网页布局,并通过`...

    CSS3实现圆形进度条

    **CSS3实现圆形进度条详解** 在Web开发中,进度条是一种常见的用户界面元素,用于显示任务或过程的完成程度。传统的进度条多为水平或垂直条状,但随着CSS3特性的不断发展,设计师们开始探索更具有创意的展现方式,...

    CSS3 Sprite僵尸行走动画特效.zip

    【CSS3 Sprite僵尸行走动画特效】是一种利用CSS3的先进特性来实现的动态效果,它巧妙地结合了精灵图(Sprite)技术和CSS3的动画功能,以创建出一个逼真的僵尸行走循环动画。在Web开发中,CSS3 Sprite技术是为了减少...

    CSS3图片动画.zip

    假设我们的序列图文件名为`frame001.png`至`frame999.png`,并且这些图片都位于`images`目录下,可以这样写CSS: ```css #sequenceLogo { width: 200px; /* 图片宽度 */ height: 200px; /* 图片高度 */ ...

    Frame.css

    《Frame.css:构建高效网页布局的艺术》 在网页设计领域,CSS(Cascading Style Sheets)扮演着至关重要的角色,它赋予HTML元素样式与布局,让网页内容更加丰富多彩。"Frame.css"是一个专用于框架布局的CSS文件,...

    以div代替frameset,用css实现仿框架布局

    为了解决这些问题,开发者转向了使用`div`元素配合CSS来实现类似的布局效果。本文将详细介绍如何用`div`和CSS实现仿框架布局。 首先,我们需要理解`div`元素。`div`是HTML中的一个块级元素,它主要用于组合其他HTML...

Global site tag (gtag.js) - Google Analytics