html - CSS:将 div 大小调整为带有导航栏的页面
问题描述
我一直在到处寻找这个问题的答案,但我还没有找到答案。
我有一个顶部带有导航栏的页面。我希望其余内容完美地填满页面,但它却向下和向右重叠,导致滚动条。
我也不确定如何将侧 div 与主 div 分开。我目前正在像 W3C 一样使用 margin-left ,但这感觉非常混乱,并且每当填充更改时都必须更改。
如果可能,我不希望任何元素具有固定位置。
html, body {
margin: 0;
padding: 0;
}
#topnav {
background-color: #00FF00;
border-bottom: 2px solid black;
overflow: hidden;
}
#sidenav {
background-color: #FFFF00;
border-right: 1px solid black;
display: inline-block;
height: 100%;
overflow: scroll;
padding: 8px;
position: absolute;
width: 200px;
}
#main {
background-color: #FF00FF;
display: inline-block;
height: 100%;
margin-left: 217px;
padding: 8px;
position: absolute;
width: 100%;
word-break: break-word;
}
<div id="topnav">
<span>Top Navigator</span>
</div>
<div id="sidenav">
<span>Side Navigator</span>
</div>
<div id="main">
<span>Main Area</span>
</div>
感谢您的任何帮助!
解决方案
试试这个小提琴。希望这是您正在寻找的
*, *::before, *::after {
box-sizing: border-box;
}
html, body {
margin: 0;
padding: 0;
}
#topnav {
background-color: #00FF00;
border-bottom: 2px solid black;
overflow: hidden;
width:100%
}
#sidenav {
background-color: #FFFF00;
border-right: 1px solid black;
display: inline-block;
height: 100%;
overflow: scroll;
position: absolute;
padding: 8px;
width: 300px;
}
#main {
background-color: #FF00FF;
display: inline-block;
height: 100%;
margin-left: 300px;
padding: 8px;
position: absolute;
width: calc(100% - 300px);
word-break: break-word;
}
推荐阅读
- ffmpeg - ffmpeg 创建 mpeg-dash 块文件太慢导致 404 错误
- javascript - 我可以让我的不和谐机器人基于网站发送消息吗?
- reactjs - react redux中的删除操作不起作用
- postgresql - Postgres SERIALIZABLE Snapshot Isolation 出现意外的枢轴错误
- java - 从另一个类调用静态方法而不在 Java 中创建对象
- youtube - 如何批量删除所有 YouTube 评论
- json - 我的 JSON 是“有效的”,但在 SharePoint 列中不起作用
- javascript - 你能告诉我为什么下面的 javascript 代码并不总是在下面的简单 index.html 中出现吗?
- python - 如何在 Pandas 数据框中为索引添加列名
- npm - gulp-sass 5 没有默认的 Sass 编译器;请自己设置一个