页布局对改善网站的外观非常重要。
请慎重设计您的网页布局。
实例
使用 <div> 元素的网页布局
[demo]
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
div#container{width:500px}
div#header {background-color:#99bbbb;}
div#menu {background-color:#ffff99;height:200px;width:150px;float:left;}
div#content {background-color:#EEEEEE;height:200px;width:350px;float:left;}
div#footer {background-color:#99bbbb;clear:both;text-align:center;}
h1 {margin-bottom:0;}
h2 {margin-bottom:0;font-size:18px;}
ul {margin:0;}
li {list-style:none;}
</style>
</head>
<body>
<div id="container">
<div id="header">
<h1>Main Title of Web Page</h1>
</div>
<div id="menu">
<h2>Menu</h2>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
</ul>
</div>
<div id="content">Content goes here</div>
<div id="footer">Copyright W3School.com.cn</div>
</div>
</body>
</html>
[/demo]
如何使用 <div> 元素添加布局。
使用 <table> 元素的网页布局
[demo]
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<table width="500" border="0">
<tr>
<td colspan="2" style="background-color:#99bbbb;">
<h1>Main Title of Web Page</h1>
</td>
</tr>
<tr valign="top">
<td style="background-color:#ffff99;width:100px;text-align:top;">
<b>Menu</b><br />
HTML<br />
CSS<br />
JavaScript
</td>
<td style="background-color:#EEEEEE;height:200px;width:400px;text-align:top;">
Content goes here</td>
</tr>
<tr>
<td colspan="2" style="background-color:#99bbbb;text-align:center;">
Copyright W3School.com.cn</td>
</tr>
</table>
</body>
</html>
[/demo]
如何使用 <table> 元素添加布局。
网站布局
大多数网站会把内容安排到多个列中(就像杂志或报纸那样)。
可以使用 <div> 或者 <table> 元素来创建多列。CSS 用于对元素进行定位,或者为页面创建背景以及色彩丰富的外观。
提示:即使可以使用 HTML 表格来创建漂亮的布局,但设计表格的目的是呈现表格化数据 - 表格不是布局工具!
HTML 布局 - 使用 <div> 元素
div 元素是用于分组 HTML 元素的块级元素。
下面的例子使用五个 div 元素来创建多列布局:
实例
[demo]
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
div#container{width:500px}
div#header {background-color:#99bbbb;}
div#menu {background-color:#ffff99; height:200px; width:100px; float:left;}
div#content {background-color:#EEEEEE; height:200px; width:400px; float:left;}
div#footer {background-color:#99bbbb; clear:both; text-align:center;}
h1 {margin-bottom:0;}
h2 {margin-bottom:0; font-size:14px;}
ul {margin:0;}
li {list-style:none;}
</style>
</head>
<body>
<div id="container">
<div id="header">
<h1>Main Title of Web Page</h1>
</div>
<div id="menu">
<h2>Menu</h2>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
</ul>
</div>
<div id="content">Content goes here</div>
<div id="footer">Copyright W3School.com.cn</div>
</div>
</body>
</html>
[/demo]
上面的 HTML 代码会产生如下结果:
使用 div 和 CSS 进行布局
HTML 布局 - 使用表格
使用 HTML <table> 标签是创建布局的一种简单的方式。
可以使用 <div> 或者 <table> 元素来创建多列。CSS 用于对元素进行定位,或者为页面创建背景以及色彩丰富的外观。
提示:即使可以使用 HTML 表格来创建漂亮的布局,但设计表格的目的是呈现表格化数据 - 表格不是布局工具!
下面的例子使用三行两列的表格 - 第一和最后一行使用 colspan 属性来横跨两列:
实例
[demo]
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<table width="500" border="0">
<tr>
<td colspan="2" style="background-color:#99bbbb;">
<h1>Main Title of Web Page</h1>
</td>
</tr>
<tr valign="top">
<td style="background-color:#ffff99;width:100px;text-align:top;">
<b>Menu</b><br />
HTML<br />
CSS<br />
JavaScript
</td>
<td style="background-color:#EEEEEE;height:200px;width:400px;text-align:top;">
Content goes here</td>
</tr>
<tr>
<td colspan="2" style="background-color:#99bbbb;text-align:center;">
Copyright W3School.com.cn</td>
</tr>
</table>
</body>
</html>
[/demo]
上面的 HTML 代码会产生以下结果:
使用表格进行布局
HTML 布局 - 有用的提示
提示:使用 CSS 最大的好处是,如果把 CSS 代码存放到外部样式表中,那么站点会更易于维护。通过编辑单一的文件,就可以改变所有页面的布局。如需学习更多有关 CSS 的知识,请访问我们的 CSS 教程。
提示:由于创建高级的布局非常耗时,使用模板是一个快速的选项。通过搜索引擎可以找到很多免费的网站模板(您可以使用这些预先构建好的网站布局,并优化它们)。
HTML 布局标签
标签 描述
<div> 定义文档中的分区或节(division/section)。
<span> 定义 span,用来组合文档中的行内元素。
通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面。
实例
垂直框架
[demo]
<html>
<frameset cols="25%,50%,25%">
<frame src="/example/html/frame_a.html">
<frame src="/example/html/frame_b.html">
<frame src="/example/html/frame_c.html">
</frameset>
</html>
[/demo]
本例演示:如何使用三份不同的文档制作一个垂直框架。
水平框架
[demo]
<html>
<frameset rows="25%,50%,25%">
<frame src="/example/html/frame_a.html">
<frame src="/example/html/frame_b.html">
<frame src="/example/html/frame_c.html">
</frameset>
</html>
[/demo]
本例演示:如何使用三份不同的文档制作一个水平框架。
框架
通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面。每份HTML文档称为一个框架,并且每个框架都独立于其他的框架。
使用框架的坏处:
开发人员必须同时跟踪更多的HTML文档
很难打印整张页面
框架结构标签(<frameset>)
框架结构标签(<frameset>)定义如何将窗口分割为框架
每个 frameset 定义了一系列行或列
rows/columns 的值规定了每行或每列占据屏幕的面积
编者注:frameset 标签也被某些文章和书籍译为框架集。
框架标签(Frame)
Frame 标签定义了放置在每个框架中的 HTML 文档。
在下面的这个例子中,我们设置了一个两列的框架集。第一列被设置为占据浏览器窗口的 25%。第二列被设置为占据浏览器窗口的 75%。HTML 文档 "frame_a.htm" 被置于第一个列中,而 HTML 文档 "frame_b.htm" 被置于第二个列中:
<frameset cols="25%,75%">
<frame src="frame_a.htm">
<frame src="frame_b.htm">
</frameset>
基本的注意事项 - 有用的提示:
假如一个框架有可见边框,用户可以拖动边框来改变它的大小。为了避免这种情况发生,可以在 <frame> 标签中加入:noresize="noresize"。
为不支持框架的浏览器添加 <noframes> 标签。
重要提示:不能将 <body></body> 标签与 <frameset></frameset> 标签同时使用!不过,假如你添加包含一段文本的 <noframes> 标签,就必须将这段文字嵌套于 <body></body> 标签内。(在下面的第一个实例中,可以查看它是如何实现的。)
更多实例
如何使用 <noframes> 标签
[demo]
<html>
<frameset cols="25%,50%,25%">
<frame src="/example/html/frame_a.html">
<frame src="/example/html/frame_b.html">
<frame src="/example/html/frame_c.html">
<noframes>
<body>您的浏览器无法处理框架!</body>
</noframes>
</frameset>
</html>
[/demo]
本例演示:如何使用 <noframes> 标签。
混合框架结构
[demo]
<html>
<frameset rows="50%,50%">
<frame src="/example/html/frame_a.html">
<frameset cols="25%,75%">
<frame src="/example/html/frame_b.html">
<frame src="/example/html/frame_c.html">
</frameset>
</frameset>
</html>
[/demo]
本例演示如何制作含有三份文档的框架结构,同时将他们混合置于行和列之中。
含有 noresize="noresize" 属性的框架结构
[demo]
<html>
<frameset cols="50%,*,25%">
<frame src="/example/html/frame_a.html" noresize="noresize" />
<frame src="/example/html/frame_b.html" />
<frame src="/example/html/frame_c.html" />
</frameset>
</html>
[/demo]
本例演示 noresize 属性。在本例中,框架是不可调整尺寸的。在框架间的边框上拖动鼠标,你会发现边框是无法移动的。
导航框架
[demo]
<html>
<frameset cols="120,*">
<frame src="/example/html/html_contents.html">
<frame src="/example/html/frame_a.html" name="showframe">
</frameset>
</html>
[/demo]
本例演示如何制作导航框架。导航框架包含一个将第二个框架作为目标的链接列表。名为 "contents.htm" 的文件包含三个链接。
内联框架
[demo]
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<iframe src="./imagecopy1234567890/test.jpg"></iframe>
<p>一些老的浏览器不支持 iframe。</p>
<p>如果得不到支持,iframe 是不可见的。</p>
</body>
</html>
[/demo]
本例演示如何创建内联框架(HTML 页中的框架)。
跳转至框架内的一个指定的节
[demo]
<html>
<frameset cols="20%,80%">
<frame src="/example/html/frame_a.html">
<frame src="/example/html/link.html#C10">
</frameset>
</html>
[/demo]
本例演示两个框架。其中的一个框架设置了指向另一个文件内指定的节的链接。这个"link.htm"文件内指定的节使用 <a name="C10"> 进行标识。
使用框架导航跳转至指定的节
[demo]
<html>
<frameset cols="180,*">
<frame src="/example/html/content.html">
<frame src="/example/html/link.html" name="showframe">
</frameset>
</html>
[/demo]
本例演示两个框架。左侧的导航框架包含了一个链接列表,这些链接将第二个框架作为目标。第二个框架显示被链接的文档。导航框架其中的链接指向目标文件中指定的节。
用 CSS 框架是当前大部分前后端开发人员都会选择的,CSS框架的好处是帮开发人员节省了开发时间,提高了工作效率,改善用户体验,并且能很好的解决各种浏览器之间的兼容性问题。当然也会存在代码冗余,影响网站打开速度,但是对于好处来说这些问题都不是问题。
接下去我会分享我所知道的所有的CSS框架,尽量把网络上现有的框架都收集起来,方便网友们的选择和比较。(框架顺序不代码框架的好坏)
www.bootcss.com
Bootstrap 就不多做介绍了属于老牌框架了,国内教程地址:www.bootcss.com(非官网),该网站目前已经整理了从2.0~5.0的所有教程资料。
www.layui.com
layui国人开发。layui是一套开源的 Web UI 解决方案,采用自身经典的模块化规范,并遵循原生 HTML/CSS/JS 的开发方式,极易上手,拿来即用。其风格简约轻盈,而组件优雅丰盈,从源代码到使用方法的每一处细节都经过精心雕琢,非常适合网页界面的快速开发。layui 区别于那些基于 MVVM 底层的前端框架,却并非逆道而行,而是信奉返璞归真之道。准确地说,它更多是面向后端开发者,你无需涉足前端各种工具,只需面对浏览器本身,让一切你所需要的元素与交互,从这里信手拈来。
semantic-ui.com
Semantic UI—完全语义化的前端界面开发框架,跟 Bootstrap 和 Foundation 比起来,还是有些不同的,在功能特性上、布局设计上、用户体验上均存在很多差异。
bulma.io
作为一个基于Flexbox的开源框架,Bulma在全世界拥有超过20万名开发用户。它可以通过可视化的组件,让开发人员了解其运作的过程。该前端框架通过各种技术,为前端开发人员提供了一种内聚(cohesive)的界面。此外,由于它使用了响应式模板,因此我们可以更好地专注于网站的内容,而不是代码的编写。
www.purecss.cn
由Yahoo开发的PureCSS,提供了一组体积小、且具有快速响应能力的CSS模块。它非常适合开发那些界面美观且功能不同的项目。PureCSS具有快速响应能力的内置设计,以及最小体积的标准化CSS,而且它们都是免费的!
www.tailwindcss.cn
Tailwind CSS 是一个功能类优先的 CSS 框架,它由 Adam Wathan 创建。本站提供 Tailwind CSS 官方文档中文翻译致力于为广大国内开发者提供准确的中文文档,助力开发者掌握并使用这一框架。
www.axui.cn
ax前端框架的特点是:能用css写的不用js;能用js写的不用插件;能用插件的不重复使用插件。通过观察本框架的核心文件会发现核心文件只有ax.css和ax.js,加载速度飞快。ax前端框架对一些常用的功能进行集成处理,比如美化滚动条、菜单、cookie等,在演示页面复制代码即可使用。
Amaze UI
Amaze UI 以移动优先(Mobile first)为理念,从小屏逐步扩展到大屏,最终实现所有屏幕适配,适应移动互联潮流。
get.foundation
Foundation 是一个适用于任何设备、媒介和可访问性的框架。Foundation是一个响应式前端框架系列,它可以让你轻松设计出漂亮的响应式网站、应用程序和电子邮件,在任何设备上看起来都非常漂亮。Foundation具有语义性、可读性、灵活性和完全可定制性。
www.openzui.com
一个基于 Bootstrap 深度定制开源前端实践方案,帮助你快速构建现代跨屏应用。
getuikit.com
UIkit 是 YOOtheme 团队开发的一款轻量级、模块化的前端框架,可快速构建强大的web前端界面。UIKit 提供了全面的 HTML、CSS 及 JS 组件,它们使用简单,容易定制和扩展。
www.pintuer.com
拼图前端框架 Pintuer.com:国内优秀的HTML、CSS、JS跨屏响应式开源前端框架,使用最新浏览器技术,为快速的前端开发提供一系列的颜色、文本、排版、内容、媒体、按钮、表单、元件、导航、组件等样式工具包,占用资源小,使用拼图可以快速构建简洁、优雅而且自动适应手机、平板、桌面电脑等设备的前端界面,让前端开发像玩拼图游戏一下轻松灵活。
www.h-ui.net
H-ui前端框架系统是基于 HTML、CSS、JAVASCRIPT开发的轻量级web前端框架。H-ui是根据中国现阶段网站特性和程序员开发习惯,在bootstrap基础上,吸取众家框架之长,融合开发者自己的思想,进行深度开发,提炼出一套适合中国开发者的HTML和CSS规范。开源免费,简单灵活,兼容性好,一经推出深受国内广大web开发者喜爱。
ui.kuaping.com
如果说Boostrap提供了一个可靠的网页元素UI组件,来构建一个网页,那么跨屏UI框架,则在bootstrap基础上提供了更为完整的网页组件,例如“关于我们”、“联系我们”,“相册”,“产品”等等组件。
milligram.io
Milligram虽然非常轻小,但功能依旧不差,它具有一整套web开发工具,并且充分利用了CSS3规范中的各种原理来帮助开发人员快速开发。
暂时收集了这些框架,你可以根据实际项目的需求,进行选择,正式使用之前请先测试代码,确保你采用的框架不会出现CSS或HTML的浏览器兼容性问题。
~~~感谢阅读,顺便点个赞,欢迎关注【Yimao软件】,谢谢~~~
联网的迅速发展,软件行业成了更多年轻人的就业选择。HTML5简单易学门槛低,是Web时代前端开发超好用的工具。而HTML5开发人员的就业薪资也远远高于其他行业。
资料显示,初级HTML5开发人员的平均薪资在8K-10K左右,拥有一定工作经验的人薪资普遍达到15K-20K。如此广阔的前景当然吸引了无数专业或非专业人士的加入。HTML5用途范围广,下面小编就来给大家分享常见的HTML5框架。
HTML5基础入门之常见的HTML5框架有哪些?
1、Siimpler
Siimpler 是个简单的 HTML 开发框架,他可以通过选择你自己喜欢的部分,来帮助你迅速又简单地创建 HTML5 开发结构。网络设计者们也可以通过使用 Siimpler 框架类的文件和文件夹来无缝的开始一个 Web 项目。
2、Ionic
Ionic 是个神奇的框架和强大前端开源系统,使用先进的Web技术,比如CSS、HTML 和 JS 来创建令人惊叹的手机应用。
3、Foundation
Foundation 是世界上精妙的前端响应框架,同时,它可以兼容所有的浏览器和网络设备。Foundation 拥有移动友好型的用户接口,设置了许多关键特性。
4、Enyo
Enyo是一个开源的 Jaa 框架,该框架能够让你创建顶级的 HTML5 应用程序,该应用程序能够运行在各种各样的电子设备上,比如说手机、台式机、笔记本、电视以及Web应用。
5、LimeJS
针对于所有的新的桌面浏览器和触屏设备,LimeJS 对于有用户经验的游戏开发者而言是教好的和较强大的开发框架。
6、Bootstrap
Bootstrap能让所有开发者都能迅速上手、所有设备都可以适配、所有项目都适用。此外,bootstrap的官网也有很多教程提供。
7、juery UI
juery UI 主要分为交互、微件和效果库3个部分,主打代码开源,操作继承了juery 的简单特性,兼容各主流桌面浏览器。
前端HTML5是当下很多企业都会用到的软件开发,HTML5是移动互联网前端的主流开发语言,目前还没有任何一种前端开发技术能够取代HTML5。因此,无论是PC端还是APP端的应用,前端样式都离不开HTML5.
从手机与电脑上网的使用率来看,从事HTML5或者Web相关的开发工作,就业前景还是比较可观的。而且,现在的网站开发都往移动设备上转移,所以HTML5或者Web前端是众望所归。
小编是一个有着5年工作经验的架构师,关于web前端,自己有做材料的整合,一个完整学习web前端的路线,学习材料和工具。需要的伙伴可以私信我,发送“前端”等3秒后就可以获取领取地址,免费送给大家。对于学习web前端有任何问题(学习方法,学习效率,如何就业)都可以问我。希望你也能凭自己的努力,成为下一个优秀的程序员!
这7个框架,你都会用吗?
*请认真填写需求信息,我们会在24小时内与您取得联系。