html - 将主要元素和页脚元素包装在一起是不好的做法吗?

标签 html css navigation responsive styling

我想重新创建此侧边菜单行为:

我目前有 HTML 结构:

<body>
   <header>
      <nav>
         <ul></ul>
      </nav>
   </header>
   <main></main>
   <footer></footer>
</body>

我希望在调用侧边菜单后缩小所有可见区域,包括页脚(如果此时可见)。我正在考虑将 main 和 footer 包装在 div 中并像在这个模型中那样缩放它:enter image description here

但这不是违背良好的 HTML 结构原则吗?什么标签最适合它?

代码需要在所有现代浏览器中运行。

最佳答案

您可以考虑几个想法。

仅在侧边栏被调用出现时插入包装 div - 您可能会使用 javascript 打开侧边菜单。您的 HTML 结构只会在打开侧边栏时受到影响。当动画/状态关闭时,您可以移除包装 div。

缩放两个元素并将它们放在一起 - 您不需要将 mainfooter 作为一个元素,尝试缩小它们并将它们彼此靠近放置并使其看起来像一个元素。我知道这需要一些前后修正。但这意味着您根本不需要包装元素。

在页面加载后对页面进行截图 - 这是一个更技术性的解决方案。有一些库可以截取当前视口(viewport)并将其制作成图像。您可以截图并将它们放在导航元素中。我确实认为这不是最好的解决方案,但仍然值得一提。请参阅:http://html2canvas.hertzen.com/

关于html - 将主要元素和页脚元素包装在一起是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57905239/

相关文章:

html - 如何使用最小和最大宽度动态缩放多个 <div>?

css - 阿罗哈编辑器 : Add new style (aloha-button) in aloha-multisplit-expanded box

html - 这些链接的顶部不起作用,我怎样才能获得按钮内的链接?

html - 如何让我的导航栏填满我的 div 的整个宽度

CSS 下拉菜单 - "Best"?功能最丰富?

html - 在 Firefox 和 Chrome 中正确实现 CSS Grid

jquery - 是否可以从 CSS 中的背景图像创建链接

在移动设备上自动播放 HTML 视频

javascript - Jquery 偏移量在滚动时只返回一个数字

css - 使元素占用可用的水平空间而不导致其父元素变宽