《HTML5开发手册》——1.7 中级“菜谱”:使用section元素对内容分组

简介:

本节书摘来自异步社区《HTML5开发手册》一书中的第1章,第1.7节,作者: 【美】Chuck Hudson , 【英】Tom Leadbetter 更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.7 中级“菜谱”:使用section元素对内容分组

section元素是一个总是需要标题的内容区域或页面区域。可以用它将多个部分的内容组合在一起,也可以根据需要,将内容的某一部分进一步划分。它不可用作通用封装器(generic wrapper)来实现样式上的需求。section元素中可以包含article元素,并且article元素也可以将其内容分割为section。正如上一节所说,你需要考虑何时使用article,以及何时使用section。代码1.9是一个使用section的示例,效果如图1.8所示。

代码1.9 利用section为不同类型的新闻创建一个基本的新闻页面


<a href=https://yqfile.alicdn.com/d317ff84d070b65fc9752942cb42e103e7d25383.png" >

在图1.8中,每个section自身都有标题,它们相互之间是隔开的。如果该页面还有其他内容,可将这些内容封装到一个section中,然后为它加上“Types of new we do”的标题:


58c1c8f48940571d0206df7e21a3ce875cfd0d6d

此外,还可以将“Nerdy News”区域(section)进一步划分为多个区域:


70fa0a8f803027d34ce291bc7e56637e5889476c

article和section的选择
目前来看,section元素的使用方式和div标记的使用方式很相似。不过,与div不一样的是,section具有语义含义,它是一组相关内容的组合。

section中可以包含article。假设有一个新闻页面,它可能有一个新闻版块,而在该版块中又有不同类别的新闻。

就像报纸一样,这个新闻页面可能有一个“News”标题,其中包含各种类型的新闻。在HTML 4中,它们可以封装在一个div标记中,现在则可以将它们封装在一个section中了。然后再给每种类型的新闻加上标题,并放置在各自的section中。

如果你认为这部分内容具有独立的意义,那么就应当使用article标记。

提示:
后面将会讲到,在我们介绍HTML5大纲的时候,需要检查是否使用了正确的标记,这很重要。
在早期的HTML5中,一个常见的错误是使用一个section来封装整个站点,如或。千万不要这样使用section!
HTML5规范中讲到:
“强烈建议开发人员将div元素视为最后求助的元素,也就是说在没有其他合适的元素时才求助于它。用div元素代替其他更合适的元素会导致页面的可访问性变差,而且维护难度也会加大。”
div元素并不承载任何特殊的语义。所以可以用它对那些不属于HTML5新元素的内容进行分组。 通常当无法使用其他方法添加CSS样式时,才使用div。如果使用了section,它会添加到文档大纲中,表明它是重要的。相反,div则不能添加到大纲中。因此,如果section标记仅仅是用来添加样式,则最好使用div。

相关文章
|
9月前
|
JavaScript 前端开发 开发者
Vue 动态添加 HTML 元素组件封装使用方法及长尾关键词优化指南
本文详细介绍了Vue中动态添加HTML元素的使用方法与组件封装技巧。内容涵盖条件渲染(v-if/v-show)、列表渲染(v-for)、动态组件(:is)、手动操作DOM及动态创建组件实例等核心方法。同时,通过动态表单、弹窗组件和动态加载组件的封装示例,展示如何提升代码复用性和可维护性。最后,总结性能优化策略与注意事项,如批量更新DOM、懒加载大型组件及避免直接操作DOM等,帮助开发者在实际项目中灵活应用Vue动态元素管理功能。
275 15
|
5月前
|
XML 前端开发 C#
C#编程实践:解析HTML文档并执行元素匹配
通过上述步骤,可以在C#中有效地解析HTML文档并执行元素匹配。HtmlAgilityPack提供了一个强大而灵活的工具集,可以处理各种HTML解析任务。
303 19
|
8月前
|
移动开发 前端开发 JavaScript
HTML表单验证:确认input元素输入为具有特定整数和小数位数的数值。
将上述JavaScript代码与HTML一同使用,便可以确保用户输入的数值符合特定的格式要求。特别要注意,在实际的生产环境中,仅仅依靠前端验证是不够的。为了安全起见,后端也应该实施相应的验证措施,以防止不匹配格式的数据通过其他手段提交到服务器。
461 74
|
9月前
|
JavaScript 前端开发 开发者
Vue 动态添加 HTML 元素组件封装使用方法及长尾关键词优化指南
本文详细介绍了Vue中动态添加HTML元素的多种方法与组件封装技巧,涵盖条件渲染(v-if/v-show)、列表渲染(v-for)、动态组件(:is)、手动DOM操作及动态创建组件实例等内容。同时提供了性能优化建议,如批量更新DOM、使用v-show代替v-if以及懒加载大型组件等。通过合理封装组件,可提高代码复用性和维护性。文中还附有具体示例代码,帮助开发者更好地理解和应用相关技术。适用于前端开发人员学习和实践Vue动态元素处理与组件设计。
229 19
|
9月前
|
缓存 JavaScript 前端开发
Vue 项目中动态添加 HTML 元素的方法与实践
本文探讨了 Vue 中动态添加 HTML 元素的多种技术方案,包括条件渲染(v-if/v-show)、动态组件(component :is)、手动挂载($mount)及 Vuex 状态管理等方法。通过实例分析,如动态表单生成器与全局模态框服务,展示了这些方案在实际开发中的应用。同时提供了性能优化建议和注意事项,帮助开发者根据需求选择最佳方式,在保持 Vue 响应式特性的同时实现灵活交互。附带代码示例,便于理解和实践。
287 2
|
存储 移动开发 数据处理
HTML5 元素2
HTML5引入了多个新元素以增强表单功能和用户体验。`&lt;keygen&gt;`元素用于生成密钥对,提交表单时生成私钥和公钥,私钥保存在客户端,公钥发送至服务器,用于后续的身份验证。`&lt;output&gt;`元素则用于展示计算结果或其他脚本输出,如表单数据处理的结果。此外,`&lt;datalist&gt;`元素可与`&lt;input&gt;`元素结合使用,提供预定义的选项列表,增强输入的便捷性和准确性。这些元素共同提升了网页的交互性和安全性。
|
移动开发 UED HTML5
HTML5 表单元素1
HTML5引入了新的表单元素,如`&lt;datalist&gt;`、`&lt;keygen&gt;`和`&lt;output&gt;`,以增强表单的功能性和用户体验。
|
移动开发 前端开发 JavaScript
HTML5 <nav> 元素2
HTML5中的`&lt;nav&gt;`标签用于定义页面的导航链接部分,但并非所有链接都需置于其中。`&lt;aside&gt;`标签定义页面主内容外的相关信息,如侧边栏。`&lt;header&gt;`标签描述文档或节的头部区域,可用于定义内容的介绍展示区。示例包括导航、家庭旅行记录和IE9发布信息等。
|
Web App开发 移动开发 iOS开发
HTML5 语义元素1
HTML5引入了语义元素,如`&lt;nav&gt;`、`&lt;header&gt;`、`&lt;footer&gt;`等,这些元素能清晰地向浏览器和开发者传达其内容的意义,如导航链接、头部和尾部。与非语义元素(如`&lt;div&gt;`)不同,语义元素使网页结构更加明确,有助于提升可读性和可访问性。例如,`&lt;section&gt;`标签用于定义文档中的节,而`&lt;article&gt;`标签则用于定义独立的内容,如论坛帖子、博客文章等。这些新元素在IE9及更高版本、Firefox、Chrome、Safari和Opera中得到支持。