热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Html5部分还是没部分?-Html5sectionornottosection?

ImlearningaboutHTML5,andhonestlyIcantsayImreallyimpressed.Semanticsareniceandall,

I'm learning about HTML5, and honestly I can't say I'm really impressed. Semantics are nice and all, but I think that they introduced new elements with a very thin line between them, and a even thinner line between them and the old divs.

我正在学习HTML5,说实话,我不能说我真的很感动。语义很好,但是我认为它们引入了新元素,它们之间有一条很细的线,它们和旧的div之间的线条更细。

Everything is very clear if you do a generic purpose site, like a blogging engine, news publishing portal, and similar, but web apps... I'm having a lot of dilemmas about new html elements.

如果您使用通用目的网站,如博客引擎,新闻发布门户网站以及类似网站应用程序,一切都非常清楚......我对新的html元素存在很多困境。

Here is my situation. I'm developing an ordering system. On the sellers interface I have 3 columns (inline), which represent the status of the order. When the status is changed element is moved from one column into another (background ajax, and js manipulation).

这是我的情况。我正在开发一个订购系统。在卖家界面上,我有3列(内联),表示订单的状态。当状态改变时,元素从一列移动到另一列(背景ajax和js操作)。

In Html4 I would use 3 divs and put a heading with a title on top of each one. Elements inside the columns would also be divs.

在Html4中,我会使用3个div并在每个顶部放置一个带标题的标题。列内的元素也是div。

But what about HTML5? I have been looking at the section element, but I'm not really sure how to use it. Here are the options:

但是HTML5怎么样?我一直在看截面元素,但我不确定如何使用它。以下是选项:

  1. Put everything inside one section - I don't think that is the way to go
  2. 将所有内容放在一个部分中 - 我不认为这是要走的路

  3. Put a section around each of the column divs, and heading inside the section
  4. 在每个列div周围放置一个部分,并在该部分内部标题

  5. Replace the divs with sections
  6. 用部分替换div

  7. Put sections inside column divs
  8. 将部分放在列div中

So, which way to go?

那么,走哪条路?

EDIT: first of all thanks everyone for your quick replies. In the end I'll probably go with Ian Devlins suggestion, and put each column as section. Anyway, just to point out my dissatisfaction with html5, multiple permitted options aren't always a good thing. I'm afraid what will the html5 web look like in a few years, when we can't fully agree on a simple question like this.

编辑:首先感谢大家的快速回复。最后,我可能会考虑Ian Devlins的建议,并将每一栏作为部分。无论如何,只是为了指出我对html5的不满,多个允许的选项并不总是一件好事。我担心几年后html5网络会是什么样子,当我们无法完全同意这样一个简单的问题时。

EDIT2: one more thing. I'll ask it here so I don't have to open another question. In addition to these 3 columns I have another div which contains order details, when any of the orders are selected. Should it be an article since its self-contained content, or to use an aside tag?

EDIT2:还有一件事。我会在这里问一下,所以我不必打开另一个问题。除了这3列之外,我还有另一个包含订单详情的div,当选择任何订单时。它应该是一篇文章,因为它是自包含的内容,还是使用旁边的标签?

3 个解决方案

#1


2  

In this particular case I would have an overall div around them, and then each column as a section as each one has a different meaning, each of which I assume has a heading indicating its status.

在这个特殊情况下,我会围绕它们有一个整体div,然后每个列作为一个部分,因为每个列都有不同的含义,我假设每一个都有一个标题指示其状态。

e.g.

Column 1

content....

Column 2

content....

Column 3

content....

#2


4  

div is a perfectly valid HTML5 tag. If the new tags don't make any sense in your project, don't feel forced to use them.

div是一个完全有效的HTML5标记。如果新标签在您的项目中没有任何意义,请不要被迫使用它们。

#3


3  

To quote the w3.org spec:

引用w3.org规范:

The section element represents a generic section of a document or application. A section, in this context, is a thematic grouping of content, typically with a heading.

section元素表示文档或应用程序的通用部分。在此上下文中,部分是内容的主题分组,通常带有标题。

And another quote from the w3.org people:

还有来自w3.org人员的另一句话:

The section element is not a generic container element. When an element is needed for styling purposes or as a convenience for scripting, authors are encouraged to use the div element instead. A general rule is that the section element is appropriate only if the element's contents would be listed explicitly in the document's outline.

section元素不是通用容器元素。当为了样式目的而需要一个元素或为脚本编写提供便利时,鼓励作者使用div元素。一般规则是,只有元素的内容在文档的大纲中明确列出时,section元素才是合适的。

Given the definition for section by w3 we can conclude that your example would be a good use of section because:

根据w3节的定义,我们可以得出结论,你的例子可以很好地利用节,因为:

  1. The elements have a header
  2. 元素有一个标题

  3. It is a thematic grouping of content
  4. 它是内容的主题分组

  5. It is a part of the document outline.
  6. 它是文件大纲的一部分。

EDIT: To expand upon your comment below, the new HTML5 elements are NOT supposed to replace the old HTML4 elements. For example, going through a page and replacing all the div elements with section elements would be flat out wrong. The section element was, in my opinion, intended to make it easier for machines to parse certain pages (think: feedburners) by giving a more semantic structure to a page. After all, what's easier to parse, a page with 30 div elements, or a page with 10 div 5 header 5 section 5 article and 5 footer elements?

编辑:为了扩展您的评论,新的HTML5元素不应该取代旧的HTML4元素。例如,浏览一个页面并用section元素替换所有div元素将是错误的。在我看来,section元素旨在通过为页面提供更多语义结构,使机器更容易解析某些页面(想想:feedburners)。毕竟,什么更容易解析,一个页面有30个div元素,或一个页面有10 div 5标题5第5节文章和5个页脚元素?


推荐阅读
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • com.sun.javadoc.PackageDoc.exceptions()方法的使用及代码示例 ... [详细]
  • 如何将Python与Excel高效结合:常用操作技巧解析
    本文深入探讨了如何将Python与Excel高效结合,涵盖了一系列实用的操作技巧。文章内容详尽,步骤清晰,注重细节处理,旨在帮助读者掌握Python与Excel之间的无缝对接方法,提升数据处理效率。 ... [详细]
  • 在Ubuntu上安装MySQL时解决缺少libaio.so.1错误及libaio在MySQL中的重要性分析
    在Ubuntu系统上安装MySQL时,遇到了缺少libaio.so.1的错误。本文详细介绍了如何解决这一问题,并深入探讨了libaio库在MySQL性能优化中的重要作用。对于初学者而言,理解这些依赖关系和配置步骤是成功安装和运行MySQL的关键。通过本文的指导,读者可以顺利解决相关问题,并更好地掌握MySQL在Linux环境下的部署与管理。 ... [详细]
  • Ihavetwomethodsofgeneratingmdistinctrandomnumbersintherange[0..n-1]我有两种方法在范围[0.n-1]中生 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 解决问题:1、批量读取点云las数据2、点云数据读与写出3、csf滤波分类参考:https:github.comsuyunzzzCSF论文题目ÿ ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 在处理大规模数据数组时,优化分页组件对于提高页面加载速度和用户体验至关重要。本文探讨了如何通过高效的分页策略,减少数据渲染的负担,提升应用性能。具体方法包括懒加载、虚拟滚动和数据预取等技术,这些技术能够显著降低内存占用和提升响应速度。通过实际案例分析,展示了这些优化措施的有效性和可行性。 ... [详细]
  • 在《Linux高性能服务器编程》一书中,第3.2节深入探讨了TCP报头的结构与功能。TCP报头是每个TCP数据段中不可或缺的部分,它不仅包含了源端口和目的端口的信息,还负责管理TCP连接的状态和控制。本节内容详尽地解析了TCP报头的各项字段及其作用,为读者提供了深入理解TCP协议的基础。 ... [详细]
author-avatar
黑白
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有