html - 修复了顶部栏和内容 Div

标签 html css

我是 HTML 和 CSS 的新手,遇到了一些新手问题。

我想在顶部有一个固定的导航栏(它是固定的),这样即使用户滚动页面它也会停留在顶部。 下面是内容页。

我希望页面的行为方式是,当用户滚动页面时,内容页面应该位于导航栏下方。

在我的例子中,导航栏是固定的,但当滚动内容 div 覆盖导航栏时。

我的代码如下

<div id="Container"> <!--Container Start-->
        <div id="TopBar"><!--TopBar Start-->
            <div class="fixedwidth"> <!-- Fixedwidth Start-->
                <div id="logodiv">   <!-- Logodiv Start-->
                    <img src="images/mascot.jpg"/>
                </div><!-- Logodiv End-->
                <div id="signInDiv">
                    <p><img src="images/orb.png"/>Sign In/Up</p>
                </div>
            </div> <!-- Fixedwidth End-->

        </div><!--TopBar End-->

        <div class="break"></div>

        <div id="mainContentDiv"> <!--Main Content Start-->
            <div class="fixedwidth">
                <div id="Content">

                </div>
            </div>
        </div> <!--Main Content End-->
    </div><!--Container End-->

css代码如下:

body{
        margin:0;
    }
    #TopBar{
        background-color:#FFFFFF;
        width:100%;
        height:100px;
        color:#174269;
        position:fixed;

        font-weight:bold;
        font-size:1.2em;
        border-bottom:1px ridge black;
    }

    .fixedwidth{

        width:1050px;
        margin:0 auto;

    }

    #logodiv {
        float:left;
        padding-bottom:5px;

    }
    #logodiv img{
        width:188px;
        height:100px;

    }
    #signInDiv{
        float:right


    }
    #signInDiv img{
        position:relative;
        top:6px;

    }
    #signInDiv p{
        position:relative;
        top:20px;

    }
    .break{
        clear:both;
    }

    #mainContentDiv{

        position:relative;
        top:100px;
        width:100%;
        height:1000px;
        background-color: #0C7ECC;
    }

我知道它有一个简单的解决方案,但就是想不出来。

最佳答案

“break”元素似乎应该被删除。寻找“clearfix”,这是定义应用于第一个 float 元素(TopBar)的类的标准方法。然后,您还可以删除 TopBar 上的“高度”。

一个可能更简单的方法是为 TopBar 设置一个已知的高度(比如 50px),并为 mainContentDiv 的 margin-top 设置相同的值。文本不会在下面(如您所问),但视觉效果应该是相同的,因为您的 TopBar 不是透明的。

另一种可能性是在 Container 上使用“display: flexbox”,并在 mainContentDiv 上设置“flex:1”属性,使其占据除了 TopBar 所需高度之外的整个高度。在这种情况下,删除 TopBar 的硬编码高度属性,添加我之前提到的 clearfix 类,以便 TopBar 在其元素处具有相同的高度。

关于html - 修复了顶部栏和内容 Div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32798478/

相关文章:

html - 所有浏览器和设备的图标/开始屏幕

javascript - 如何使用 jQuery 从 anchor 标记获取链接

调整窗口大小时,CSS 不会立即应用。它只适用于滚动

jquery - 当两个输入都被填充时更改图像

html - 方框阴影 : hide top shadow

javascript - 如何模拟 GET 操作并将其传递到同一页面而不重新加载?

jquery - 更改从 css 中选择的 radio 的标签颜色

html - 从外部表格边框线填充

html - CSS 下拉问题 - 当鼠标在它下面时会掉线吗?

javascript - 输入文件: write the name of the file in a text input with Javascript