html - 如何固定导航和右侧 block ,同时保持整个容器居中?

标签 html css

如何固定navright block ,同时保持整个容器centre居中? 不使用js http://jsfiddle.net/zujg22st/9/

我知道 position fixed 固定到浏览器而不是父级,所以它不能像 position absolute 那样简单地在相对 div 中使用 fixed

<div class="center">
    <div class="nav">nav</div>
    <div class="left">
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <!--..... a lot ->
    </div>
    <div class="right">right</div>
</div>

CSS

.center {
    width: 400px;
    background-color: red;
    margin: 0 auto;
}
.nav {
    width: 400px;
    height: 30px;
    background-color: yellow;
}
.left, .right {
    width: 150px;
    display: inline-block;
    vertical-align: top;
}
.left {
    background-color: green;
}
.right {
    background-color: blue;
    height: 40px;
}

最佳答案

所以我们在这里要做的是将 this 分成两部分。我们将在页面顶部创建一个标题和一个带有固定右侧 div 的正文。顶部的导航栏我们可以像这样制作一个固定的标题:

CSS:

#header{
    position:relative;
    height:30px;
    width:400px;
    margin: 0 auto;
}

HTML:

<div id="header">
    <div class="nav">nav</div>
</div>

主体看起来像:

HTML:

<div class="center">
    <div class="left">
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
        <div class="left-el">left-el</div>
    </div>
    <div class="right">right</div>
</div>

CSS:

#header{
    position:relative;
    height:30px;
    width:400px;
    margin: 0 auto;
}

.centerheader{
    width: 400px;
    margin: 0 auto;
    position:relative;
}

.center {
    width: 400px;
    background-color: red;
    margin: 0 auto;

}
.nav {
    position:fixed;
    width: 400px;
    height: 30px;
    background-color: yellow;
}
.left, .right {
    width: 150px;
    display: inline-block;
    vertical-align: top;
}
.left {
    background-color: green;
}
.right {
    position:fixed;
    background-color: blue;
    height: 40px;
}

.right {
    margin-left: 3px;
    position: fixed;
}

body{
    margin: 0 auto;
}

作为旁注,我修改了底层 body {margin: 0 auto;}。在 jsfiddle 中, body 周围有一个边距,当你有一个标题时它会导致丑陋。

FIDDLE

关于html - 如何固定导航和右侧 block ,同时保持整个容器居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25254646/

相关文章:

javascript - onmouseover 和 onmouseleave 功能无法正常工作

html - <body> 上方不需要的空间,并且没有背景色。

文本框下方的 HTML 边框

html - 在 IE 中为 png 图像添加阴影

iphone - Corona、Phonegap、Titanium的比较

javascript - 如何在链接( anchor 标记)旁边使用 CSS 添加插入符号(向下)?

css - 悬停时 html5 下拉菜单无法正确加载

html - 为什么这个 CSS margin-top 样式不起作用?

html - 如何阻止 iframe 视频在 Chrome 栏中跳转

javascript - 将值传递给angular js中的自定义指令