我想创建一个应用程序使用语义html。该应用程序将有标题,导航,主要区域,页脚,和侧栏。
该应用使用react,因此有index.js和index.html。这是react将元素呈现到根DOM节点的位置。
索引.js
render(<App />, document.getElementById('root'))
索引.html
<!DOCTYPE html>
<html lang="en">
<head>
<title>My Title</title>
</head>
<body>
//<div id="root"></div>
// <main id="root"></main>
// <section id="root"></section>
</body>
</html>
我希望应用程序产生类似于以下内容的结果:
<some root node>
<header>
<nav>
<main>
<aside>
<footer>
既然React需要一个根节点,那么它应该是什么类型的元素呢(语义上最正确的是什么)?根节点在index.html中,因此一个片段并不能解决这个问题。我已经注解掉index.html中的一些想法,它们是div、main和section。
4条答案
按热度按时间bgibtngc1#
<main>
应该与内容的主要部分相关。如果你希望有导航,标题和/或侧边栏等类似的东西,似乎更适合为应用程序使用div,并为页面上的主要内容使用<main>
标签。gcuhipw92#
这实际上没有什么区别,但官方文档使用
<div>
6tdlim6h3#
如果你喜欢的话,你可以使用
document.body
。如果你的页面中只有一个SPA,它就没有特别的相关性。wj8zmpe14#
您可以对根使用main标签,然后对各个部分使用section标签。