Ped*_*dro 4 html css header sidebar fixed
所以我想要做的是一个固定的侧边栏,顶部有一个固定的菜单,中间的内容可以滚动。
body,
html {
height: 100%;
margin: 0;
}
aside {
background: #90EE90;
height: 100%;
left: 0;
position: fixed;
top: 0;
width: 120px;
}
ul {
list-style: none;
}
section {
background: #ADD8E6;
height: 100%;
margin-top: 60px;
}
header {
background: #FF0;
height: 60px;
left: 0;
margin-left: 120px;
position: fixed;
text-align: center;
top: 0;
width: 100%;
z-index: 99;
}
.container {
left: 0;
margin-left: 120px;
min-height: 100%;
position: relative;
text-align: center;
}
figure {
margin: 0;
}
img {
height: 60px;
width: 100%;
}Run Code Online (Sandbox Code Playgroud)
<aside>
<nav>
<div class="nav-header">
<figure>
<img src="http://placehold.it/140x100" alt="" />
</figure>
</div>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
<li>Item 6</li>
</ul>
</nav>
</aside>
<header>Header Centered</header>
<div class="container">
<section>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
<div>Scroll</div>
</section>
</div>Run Code Online (Sandbox Code Playgroud)
这是一个小提琴:http : //jsfiddle.net/kbb7t7vd/1/
我的主要问题是与内容部分相比,标题没有居中。
我相信发生这种情况是因为它的宽度是 100%,这使得它比它应该的要大。
我可以在不使用 JS 计算宽度的情况下解决这个问题吗?也许我只是以错误的方式进行布局,你们可能会帮助我更好地理解这一点以及它是如何工作的。
提前致谢。
这个问题确实与width: 100%. 文本在 100% 宽的标题中水平居中。标题与屏幕一样宽,但因为它还有一个margin-left: 120px被推到屏幕右端 120px 处。
当您使用position: fixed时,<header>您可以更改
header {
margin-left: 120px;
left: 0;
width: 100%;
}
Run Code Online (Sandbox Code Playgroud)
进入
header {
left: 120px;
right: 0;
}
Run Code Online (Sandbox Code Playgroud)
这将使文本水平居中。
header {
margin-left: 120px;
left: 0;
width: 100%;
}
Run Code Online (Sandbox Code Playgroud)
header {
left: 120px;
right: 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14350 次 |
| 最近记录: |