当您阅读博客文章时,几乎所有博客上都有一个包含类似文章、最新评论等的“侧边栏”。在我将要实现的布局中,我有一个巨大的文章标题(带照片和拖车),宽度为 100%。之后,我有了文章正文,带有描述的侧边栏,之后,我有了(再次 100% 宽度)作者信息和评论。
在这种情况下,我无法使用主文章标签中的“侧边栏”来逃避。最小的例子:
<article>
<!-- ARTICLE HEADER -->
<header style="width: 100vw; height: 100vh">
<h1>title</h1>
<p>trailer</p>
<time>...</time>
</header>
<!-- ARTICLE BODY -->
<h2>...</h2><p>...</p><ul>...</ul> x few
<!-- SIDEBAR - PROBLEM -->
<div id="sidebar">
<h2>Similar articles</h2><ul>...</ul>
<h2>Latest comments</h2><ul>...</ul>
</div>
<!-- ARTICLE FOOTER -->
<footer id="author" style="width: 100vw; height: 100vh">
<h1>Details</h1>
<section>
<h1>Author</h1>
<address>...</address>
</section>
<section>
<h1>Comments</h1>
<ul>...</ul>
</section>
</footer>
</article>
问题在于 div#sidebar 以及它应该包含的元素类型。
- 这当然不是文章的一部分(所以它不能是 div)
- 这可能不在旁边(除了文章内部与文章高度相关,但可以在阅读时省略,并且此侧边栏是自动生成的,与文章完全无关)
- 这可能是一个部分,但当然不应该在文章标签内
- 没有机会将这个元素从文章中制作出来,并且制作简单的部分,因为定位(绝对或弹性)将难以管理,因为全屏页脚和页眉。
有什么帮助吗?
我有一个使用 jquery 的解决方案,我可以将元素从“流”中删除,然后将其粘贴到其他地方,但也许有一个仅使用 HTML5 的语义解决方案?