• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > HTML5 区域(Sectioning)的重要性

HTML5 区域(Sectioning)的重要性

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含HTML5,Sectioning等相关知识,匿名希望在学习及工作中可以帮助到您
不管你以前在web页面布局中如何称呼它们 - “区域”还是“块”,我们一直都在布局中将页面分成可视的不同区域。但真正的问题在于我们并没有使用任何正确的工具来实现。一般情况下我们使用典型的网格来划分页头,页面主题,页尾等等区域来实现所谓的页面布局。


在过去的很多年以来,我们都使用DIV来帮助我们划分页面区域,而为此我们定义了很多class来帮助我们有效定义页面上的每一个层次,最新的HTML5最终帮助我们解决了这个问题 - 使用section 元素, 很多人都非常喜欢这个新的HTML成员,因为i终于在HTML标准中给予了我们准确的开发建议,Section增强了整个DOM的可读性,在这篇文章中我 们将介绍这些新的元素,帮助我们了解能够解决什么问题,提供了什么重要的功能并且对于“语义化Web”做出了什么样的贡献!


开发网站


可能大家还记得使用dreamweaver来开发网站的日子,我们通过拖拽来生成一个典型的页面,如下:



1040.jpg


使用dreamweaver只是为了快速的生成图形界面而非真正意义上的信息语义清晰,当然很多人都使用dreamweaver,包括我自己。典型的傻瓜式开发的产物。


web标准


当我们开始熟悉了web标准以及正确开发的相关最佳实践之后,我们需要做的事情仍旧是视觉设计,典型的“CSS布局”,尽量不使用语义错误的table来设 计页面布局。使用基于p的布局作为web设计其实已经很多年了,不过使用p布局导致document结构的混乱和层次的难于维护是显而易见的。而 且最恶心的hack问题也一直困扰我们!


Div标签的问题


每天都会有成千上万的开发人员使用p来分隔,格式化页面内容。我们使用p来分隔不同的内容区域,以保证内容的互相独立。但是事实上p并非用来实现这样的功能的。看看如下这个例子:



1041.jpg


在这个简单的局部中,包含了一个文字主题和一个边栏内容。为了让它对于读者绝对清晰,我们将sidebar分离于主体。这里我们使用一个粗边框来封装这个边 栏内容。也许你会说,边栏的标题应该是

,这个我们稍后做解释。所有的定义使用了一个典型的CSS,如果你把CSS去除,你将看到如下 展示:



1042.jpg


如果我去除了CSS,你看到页面布局变成了响应式风格,这其实就是HTML4 document如何在浏览器中实际被生成的样式。这里我们看到边栏区域其实是document中的另外一段信息。


为什么会这样呢?


主要的原因在于

是一个流动内容的元素。不管边框或者背景是什么样式,它和主题document并不分离,相反,作为其中的一个部分生 成。当我们移除CSS可以看到,边栏的“Resource”标题并非是一个独立的组件,而是document的一个部分。作为页面的阅读者来说,这一点大 家应该看到。


为了更好的说明,我们看看如下代码片段:

<div class="parent">
<h2>Heading</h2>
<p>Some content...</p>
	<div class="child">
		<h2>Another heading</h2>
		<p>Some other content...</p>
	</div>
</div>



这里我们我们稍微的修改了一下内容,添加了两个p到来展示父子关系。 p.child标签属于p.parent。我们可以使用CSS来使得两个元素的关系看起来是这个样子。但是,要知道p在标准中的描述是“没什 么特殊含义”。非但不意味着任何语义上的含义,对于web页面的计算架构来说也没有任何意义。而且p对于我们来说也不可见。因此我们应该把他们都删 除,而使用如下4个元素来展示页面父子关系,如下:

<h2>Heading</h2>
<p>Some content...</p>
<h2>Another heading</h2>
<p>Some other content...</p>


作为正确的结构来说,这里是实际构成内容的元素。


标题层次实际并非非常有用


可能很多人认为将

替换成

可能能够帮助我们解决问题。如果这样的话,我们可能得到如下:


  • A header(h2)

  • Another header(h3)


这个方式貌似更加的合理。但是实际上呢?h3的内容是否真的属于h2?这里很难说清楚。下面我们再看一个例子:


在这个HTML4页面中,我们使用h1来生成一个页面内容介绍标题,使用h2作为主内容的标题,使用h3来标示边栏,并且使用p#footer来生成页尾内容。但是问题是footer究竟属于那个一个内容呢?


Footer属于哪一个标题


下面这个图非常清晰的展示了document结构问题,我们看到这里footer究竟属于

的页尾,还是

的页尾。


可能有些专家认为,可以将代码改成如下样式:


  • h1(page)

  • h2(main)

  • h3(sidebar)

  • h2(footer)


这个属于一个hack,但是并非很正确。


划分区域


了解如何正确的划分区域,HTML5提供了

<section>,<article>,<aside>和<nav>
等元素。看看下图有几个区域:



1043.jpg


多选题:


A. 1 B. 2 C.

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2018-12-03H5移动端各种各样的列表的制作方法(七最终章)
  • 2018-12-03基于HTML5的Web SCADA报表图文代码详解
  • 2018-12-03html5弹跳球示例代码_html5教程技巧
  • 2018-12-03关于链接中href写javascript表达式出现的错误疑问?
  • 2018-12-03HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等_html5教程技巧
  • 2018-12-03H5 的复制操作实例代码
  • 2018-12-03分享利用 HTML5 的 Canvas 制作人脸的实例代码
  • 2018-12-03分享一个利用H5实现下拉顶部放大的实例代码
  • 2017-08-06HTML5的结构和语义(5):交互
  • 2018-12-03HTML5移动前端webapp有什么推荐的书籍或者建议?

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • Vue.directive()的图文详解
    • HTML5 Canvas自定义圆角矩形与虚线示例代码_html5教程技巧
    • textarea到底是使用value还是innerhtml还是innerText来获取输入的内容的?
    • HTML5编程实战之三-图片文本(txt)拖拽预览实现代码
    • HTML5 video播放器全屏(fullScreen)方法实例_html5教程技巧
    • HTML5 Canvas画线技巧——实现绘制一个像素宽的细线_html5教程技巧
    • 使用HTML5 Canvas API控制字体的显示与渲染的方法
    • H5应用缓存-Manifest的具体介绍
    • iPhone 上 UC 浏览器和 QQ 浏览器哪个用户更多?
    • 使用HTML5 Canvas为图片填充颜色和纹理

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有