热门标签 | 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个页脚元素?


推荐阅读
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文介绍了游标的使用方法,并以一个水果供应商数据库为例进行了说明。首先创建了一个名为fruits的表,包含了水果的id、供应商id、名称和价格等字段。然后使用游标查询了水果的名称和价格,并将结果输出。最后对游标进行了关闭操作。通过本文可以了解到游标在数据库操作中的应用。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 3.223.28周学习总结中的贪心作业收获及困惑
    本文是对3.223.28周学习总结中的贪心作业进行总结,作者在解题过程中参考了他人的代码,但前提是要先理解题目并有解题思路。作者分享了自己在贪心作业中的收获,同时提到了一道让他困惑的题目,即input details部分引发的疑惑。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
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社区 版权所有