整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

前端:六大H5常用结构元素

端在使用DIV+CSS布局时,通常需要通过为div命名的方式,来区分网页中不同的模块。在HTML5中布局方式有了新的变化,HTML5中增加了新的结构标签,如header标签、nav标签、article标签等,具体介绍如下。

1. header标签

HTML5中的header标签是一种具有引导和导航作用的结构标签,该标签可以包含所有通常放在页面头部的内容。header标签通常用来放置整个页面或页面内的一个内容区块的标题,也可以包含网站Logo图片、搜索表单或者其他相关内容。其基本语法格式如下:

<header>

  <h1>网页主题</h1>

    ...</header>

在上面的语法格式中,<header></header>的使用方法和<div class="header"></div>类似。

注意:

在HTML网页中,并不限制header标签的个数,一个网页中可以使用多个header标签,也可以为每一个内容块添加header标签。

2. nav标签

nav标签用于定义导航链接,是HTML5新增的标签,该标签可以将具有导航性质的链接归纳在一个区域中,使页面元素的语义更加明确。nav标签的使用方法和普通标签类似,例如下面这段示例代码:

<nav>

  <ul>

        <li><a href="#">首页</li>

        <li><a href="#">公司概况</li>

        <li><a href="#">产品展示</li>

        <li><a href="#">联系我们</li>

  </ul></nav>

在上面这段代码中,通过在nav标签内部嵌套无序列表ul来搭建导航结构。通常一个HTML页面中可以包含多个nav标签,作为页面整体或不同部分的导航。具体来说,nav标签可以用于以下几种场合。

● 传统导航条:目前主流网站上都有不同层级的导航条,其作用是跳转到网站的其他主页面。

● 侧边栏导航:目前主流博客网站及电商网站都有侧边栏导航,目的是将当前文章或当前商品页面跳转到其他文章或其他商品页面。

● 页内导航:它的作用是在本页面几个主要的组成部分之间进行跳转。

● 翻页操作:翻页操作切换的是网页的内容部分,可以通过点击“上一页”或“下一页”切换,也可以通过点击实际的页数跳转到某一页。

除了以上几点以外,nav标签也可以用于其他导航链接组中。需要注意的是,并不是所有的链接组都要被放进nav标签,只需要将主要的和基本的链接放进nav标签即可。

3. footer标签

footer标签用于定义一个页面或者区域的底部,它可以包含所有放在页面底部的内容。在HTML5出现之前,一般使用<div class="footer"></div>标签来定义页面底部,而现在通过HTML5的footer标签可以轻松实现。与header标签相同,一个页面中可以包含多个footer标签。

4. article标签

article标签代表文档、页面或者应用程序中与上下文不相关的独立部分,该元素经常被用于定义一篇日志、一条新闻或用户评论等。一个article标签通常有它自己的标题(可以放在header标签中)和脚注(可以放在footer标签中),例如下面的示例代码。

<article>

    <header>

    <h1>秋天的味道</h1>        
    
    <p>你想不想知道秋天的味道?它是甜、是苦、是涩...</p>

  </header>

    <footer>           
    
    <p>著作权归XXXXXX公司所有...</p>

  </footer></article>

需要注意的,在上面的示例代码中还缺少主体内容。主体内容通常会写在header和footer之间,通过多个section标签进行划分。一个页面中可以出现多个article标签,并且article标签可以嵌套使用。

5. section标签

section标签表示一段专题性的内容,一般会带有标题,主要应用在文章的章节中。例如,新闻的详情页有一篇文章,该文章有自己的标题和内容,因此可以使用article标签标注,如果该新闻内容太长,分好多段落,每段都有自己的小标题,这时候就可以使用section标签把段落标注起来。在使用section标签时,需要注意以下几点:

● section不仅仅是一个普通的容器标签。当一个标签只是为了样式化或者方便脚本使用时,应该使用div标签。

如果article标签、aside标签或nav标签更符合使用条件,那么不要使用section标签。

● 没有标题的内容模块不要使用section标签定义。

值得一提的是,在HTML5中,article标签可以看作是一种特殊的section标签,它比section标签更具有独立性,即section标签强调分段或分块,而article标签强调独立性。如果一块内容相对来说比较独立、完整时,应该使用article标签;但是如果想要将一块内容分成多段时,应该使用section标签。

6. aside标签

aside标签用来定义当前页面或者文章的附属信息部分,它可以包含与当前页面或主要内容相关的引用、侧边栏、广告、导航条等有别于主要内容的部分。aside标签的用法主要分为两种:

● 被包含在article标签内作为主要内容的附属信息。

● 在article标签之外使用,作为页面或网站的附属信息部分。最常用的的使用形式是侧边栏。

页布局分为:网页头部、网页主题、网页底部。

初学html时制作出来的页面非常丑陋,是因为没有添加CSS样式和布局排版,完全按照元素自身的特性来排列元素。事实上,对于这些标签还有一个专门的属性来控制元素的显示方式,是像div那样快元素显示,还是像span那样行内显示,这个属性就是display属性。

block快元素的默认值,inline行内元素的默认值,inline-block行内块元素,none设置元素不会被显示。

下面我们来做个一个页面用float属性来实现网页的布局。

样张图片:

下面我们就用浮动来进行编辑代码如下:

看一下css样式表:

下面来看一下我们设计出来的效果:

布局差不多没什么大的区别,小编现在也是初学者,希望提出建议

作者:润邦网络科技

我们刚开始学习Web前端时,就对HTML页面的布局特别感兴趣,上一讲《CSS初步介绍》中,讲解了CSS的入门知识,现在我们介绍一下HTML布局的知识。

HTML布局的方案有Table布局、最流行的DIV布局、以及HTML5建议的DIV布局的替代方案。

当HTML内容被浏览器显示时,整个HTML页面对使用者来说,就是一个显示信息与进行操作的界面。我们常常见到和下面类似的界面:

在这个界面中,整个HTML网页被分为标题区、导航区、内容去、状态栏区,下面我们分别用Table布局、DIV布局和HTML5建议的布局方案来实现该界面。

1、Table布局方案

使用Table布局方案,将整个浏览器的展示部分就是一个表格,然后我们设置好表格的单元格合并、大小即可。下面是使用Table布局方案的HTML页面:

<!DOCTYPE html>
<html>
<head>
<title>layout001</title>
<meta charset="utf-8" />
<style type="text/css">
html,body, table{
width:100%;
height:100%;
}
#first_row{
height:6%;
}
#second_row{
height:91%;
}
#third_row{
height:3%;
}
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
#header{
border:1px black solid;
color:white;
text-align:center;
background:green;
}
#navigator{
border:1px black solid;
color:white;
text-align:center;
background:blue;
}
#content{
border:1px black solid;
color:white;
text-align:center;
background:gray;
}
#footer{
border:1px black solid;
color:white;
text-align:center;
background:orange;
}
</style>
</head>
<body>
<table>
<tr id="first_row">
<td id="header" colspan="2">标题区</td>
</tr>

<tr id="second_row">
<td id="navigator" width="15%">导航区</td>
<td id="content" width="85%">内容区</td>
</tr>

<tr id="third_row">
<td id="footer" colspan="2">状态栏区</td>
</tr>
</table>
</body>
</html>

使用浏览器打开这个HTML文档,展示效果如下:

这个框架建立后,我们就可以在各个<td>内进行具体的开发了。

2、DIV布局方案

使用DIV布局方案,将整个浏览器的展示部分由各个DIV来分配。下面是使用DIV布局方案的HTML页面:

<!DOCTYPE html>
<html>
<head>
<title>layout002</title>
<meta charset="utf-8" />
<style type="text/css">
html,body{
width:100%;
height:100%;
}
body,#header,#second_row,#navigator,#content,#footer{
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
#header{
height:6%;
width:100%;
color:white;
text-align:center;
background:green;
}
#second_row{
height:91%;
width:100%;
}
#navigator{
height:100%;
width:15%;
float:left;
color:white;
text-align:center;
background:blue;
}
#content{
height:100%;
width:85%;
float:right;
color:white;
text-align:center;
background:gray;
}
#footer{
height:3%;
width:100%;
color:white;
text-align:center;
background:orange;
}
</style>
</head>
<body>
<div id="header">
标题区
</div>
<div id="second_row">
<div id="navigator">
导航区
</div>
<div id="content">
内容区
</div>
</div>
<div id="footer">
状态栏区
</div>
</body>
</html>

使用浏览器打开这个HTML文档,展示效果如下:

这个框架建立后,我们就可以在各个<div>内进行具体的开发了。

可以发现,使用DIV元素,我们对页面进行布局时更方便。

3、HTML5推荐的布局方案

使用DIV布局方案,使用起来特别方便,基本上是前端开发者的首选。不过在HTML5标准来看,各个DIV的含义不明确,因此建议使用专门的元素来替代DIV。这是按照HTML5推荐的布局方案的页面:

<!DOCTYPE html>
<html>
<head>
<title>layout003</title>
<meta charset="utf-8" />
<style type="text/css">
html,body{
width:100%;
height:100%;
}
body,header,#second_row,nav,main,footer{
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
header{
height:6%;
width:100%;
color:white;
text-align:center;
background:green;
}
#second_row{
height:91%;
width:100%;
}
nav{
height:100%;
width:15%;
float:left;
color:white;
text-align:center;
background:blue;
}
main{
height:100%;
width:85%;
float:right;
color:white;
text-align:center;
background:gray;
}
footer{
height:3%;
width:100%;
color:white;
text-align:center;
background:orange;
}
</style>
</head>
<body>
<header>
标题区
</header>
<div id="second_row">
<nav>
导航区
</nav>
<main>
内容区
</main>
</div>
<footer>
状态栏区
</footer>
</body>
</html>

使用浏览器打开这个HTML文档,展示效果和上面的一模一样:

使用这种方案,除了使用了含义明确的<header>、<nav>、<main>、<footer>元素外,和DIV方案没有区别。

这种做法貌似HTML更清晰,但实际上增加了元素的种类,增加了开发人员的记忆负担,容易出错。因此,前端程序员基本上都不喜欢这种方案。