HTML5 - 经典的上中下三段式布局(并使用<nav>实现侧边导航链接)
2016-03-17 14:04
1111 查看
这个是一个典型的三段式部局,上下两块分别是网页头部与尾部。中间区域又分为左边的侧边栏区域和右边的内容主体区域。
1,效果图如下:
2,页面元素说明:
(1)在最外层我们添加了一个wrapper,把所有的页面元素都包在里面。好处是便于调整整个页面的最大最小宽度,以及是否让页面居中等。
(2)中间区域,侧边栏是固定宽度,右侧内容区域是自适应宽度。
(3)过去我们会把整个侧边栏都放在一个
(4)“关于我们”包含在一个
(5)下面的广告图片区块没有标题,则使用
3,这里还使用了
(1)本样例用
(2)不能把
(3)
4,页面代码
5,样式 hangge.css
原文出自:www.hangge.com 转载请保留原文链接:http://www.hangge.com/blog/cache/detail_848.html
1,效果图如下:
2,页面元素说明:
(1)在最外层我们添加了一个wrapper,把所有的页面元素都包在里面。好处是便于调整整个页面的最大最小宽度,以及是否让页面居中等。
(2)中间区域,侧边栏是固定宽度,右侧内容区域是自适应宽度。
(3)过去我们会把整个侧边栏都放在一个
<div>中,到了HTML5,使用两个针对性更强的元素
<aside>和
<nav>。
(4)“关于我们”包含在一个
<section>元素中。一般以标题开头的内容区块使用
<section>,反之则使用
<div>。
(5)下面的广告图片区块没有标题,则使用
<div>。
3,这里还使用了
<main>元素包裹了页面中的主要内容。
(1)本样例用
<main>包裹了
<article>。如果页面有多个
<article>,也同样放置在
<main>元素内部。
(2)不能把
<main>嵌套到
<article>里边。而且一个页面只能有一个
<main>元素。
(3)
<main>对屏幕阅读器很重要。有了它,屏幕阅读器就可以跳过那些次要的内容,比如页眉,导航菜单,广告,侧边栏等,直达内容。
4,页面代码
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="utf-8"> <title>航歌</title> <link rel="stylesheet" href="hangge.css"> </head> <body> <div id="wrapper"> <header class="SiteHeader"> <img src="logo.png" alt="hangge.com"> <h1 style="display:none">hangge.com</h1> </header> <aside class="NavSidebar"> <nav> <h2>热门文章</h2> <ul> <li><a href="...">Swift - 委托(delegate)的介绍,及使用样例</a></li> <li><a href="...">Swift - 让程序挂起后,能在后台继续运行任务</a></li> <li><a href="...">Swift - 产生不重复数字的随机数生成器</a></li> <li><a href="...">More ...</a></li> </ul> </nav> <section> <h2>关于我们</h2> <p>这个是一个简短的介绍。这个是一个简短的介绍。这个是一个简短的介绍。这个是一个简短的介绍。 </p> </section> <div> <img src="ad.png" alt="Luckies cigarette ad: it's toasted"> </div> </aside> <main> <article class="Content"> <header class="ArticleHeader"> <h2>欢迎来到hangge.com</h2> <h3>航歌 - 做最好的开发者知识平台</h3> <p class="Byline">by hangge.com</p> </header> <p>前面讲了如何让程序申请后台短时运行。但这个额外延长的时间毕竟有限。</p> <br/> <h3>小标题1</h3> <p>前面讲了如何让程序申请后台短时运行。但这个额外延长的时间毕竟有限。</p> <br/> <h3>小标题2</h3> <p>前面讲了如何让程序申请后台短时运行。但这个额外延长的时间毕竟有限。</p> </article> </main> <footer> <p class="Disclaimer">hangge.com 版权所有,未经允许不得转载</p> <p> <a href="index.html">关于我们</a> <a href="index.html">联系我们</a> <a href="index.html">帮助</a> </p> <p>Copyright © 2015</p> </footer> </div> </body> </html>
5,样式 hangge.css
article, aside, figure, figcaption, footer, header, hgroup, nav, section, summary { display: block; } *{ margin: 0px; padding: 0px; } body { font-size: medium; font-family: "Helvetica","Hiragino Sans GB","Microsoft Yahei", sans-serif; } a { color: #999; text-decoration: none; cursor: pointer } a:hover { color: #5188a6; text-decoration: none } #wrapper { max-width: 853px; min-width: 400px; } header.SiteHeader { padding: 10px; background: #000000; } aside.NavSidebar { padding: 5px 15px 5px 15px; width: 203px; background-color:#f9f9f9; font-size: small; float:left; } aside.NavSidebar h2 { color: #6B6E3F; border-bottom: thin #6B6E3F solid; margin-bottom: 10px; margin-top: 20px; } aside.NavSidebar ul { padding-left: 15px; } aside.NavSidebar li { padding-bottom: 8px; } aside.NavSidebar img { margin-top: 20px; border: white solid 4px; } .Content { padding: 20px; margin-left:233px; } .Content .LeadIn { font-weight: bold; font-size: large; font-variant: small-caps; } .Content h3 { color: #24486C; margin-bottom: 2px; font-size: medium; } .Content p { margin-top: 0px; } header.ArticleHeader { padding: 10px; margin: 10px; text-align: center; } header.ArticleHeader h2 { font-size: xx-large; } header.ArticleHeader h3 { margin-top: 8px; font-weight: bold; } header.ArticleHeader .Byline { margin-top: 8px; font-style: italic; font-size: small; } footer { background: #333333; color:#c0c0c0; padding: 10px; text-align: center; font-size: x-small; clear:both; } footer .Disclaimer { font-style: italic; } footer p { margin: 3px; }
原文出自:www.hangge.com 转载请保留原文链接:http://www.hangge.com/blog/cache/detail_848.html
相关文章推荐
- HTML5 - 让老浏览器支持新语义元素的几种方法
- html5 图片转base64预览显示
- HTML5 - 在线检测网页在各种浏览器下的效果
- HTML5 - 使用Geolocation(地理定位)获取用户的位置
- HTML5 - 用<figure/>添加插图和图题
- HTML5新增的主体结构元素
- HTML5 - 简单的上下布局页面样例
- HTML5 - 用CSS3动画制作场景切换效果(移动,旋转,淡入淡出等)
- HTML5 - 使用polyfill(腻子脚本)填补旧浏览器对html5的支持缺陷
- HTML5 - 各大浏览器对html5的支持情况
- 使用ionic框架的<ion-scroll>进行水平滚动时,导致页面难以上下滑动的解决方案
- 关于html5不支持frameset的解决方法
- 第一次
- html/html5
- html5响应式布局案例
- html5拖放本地资源
- html5拖放
- html5之viewport
- HTML5延迟加载指定文件(google给的代码)
- html5的离线缓存