1

我是 CSS 新手,正在尝试学习定位。我设置了以下样式表:

div{
    border-radius: 5px;
    border: 1px solid black;
}

#header{
    width: 550px;
    position: fixed;
    background-color: #e8e8e8;
    height: 100px;
    z-index: 1;
}

.left{

    float: left;
    display: inline-block;
    position: relative;
    background-color: #000000;
    height: 300px;
    width:275px;
}

.right{
    float: right;
    background-color: #0000ff;
    width: 275px;
   height: 300px;
}

#footer{
    clear: both;
    background-color: orange;
    width: 550px;
    height: 50px;
}

这是html:

<!DOCTYPE html>
<html>
<head>
    <link type="text/css" rel="stylesheet" href="stylesheet.css"/>
    <title></title>
</head>
<body>
    <div id="header"></div>
    <div class="left"></div>
    <div class="right"></div>
    <div id="footer"></div>
</body>
</html>

它是否与使 .left 类出现在最顶部的标题选项卡的固定定位有关。如何使 .left 类出现在标题下方但保持标题位置固定?

谢谢

4

2 回答 2

1

fixed就像位置一样,位置将内容从传统流程中拉出来absolute。假设您想将其固定到顶部,您还需要添加top: 0;以便它知道粘贴在哪里。这是一些更新的代码,应该可以解决您的问题。

款式:

div {
    border-radius: 5px;
    border: 1px solid black;
}

#header {
    width: 550px;
    position: fixed;
    top: 0;
    background-color: #e8e8e8;
    height: 100px;
    z-index: 1;
}

#content {
    border: 0;
    margin-top: 110px;
}

#content:after {
    content: "";
    height: 0;
    clear: both;
    display: block;
}

.left, .right {
    height: 300px;
    width: 275px;
}

.left {
    float: left;
    background-color: #000000;
}

.right {
    float: right;
    background-color: #0000ff;
}

#footer{
    background-color: orange;
    width: 550px;
    height: 50px;
}

另外,我建议将您的浮动元素放入自己的容器中,然后将您的元素添加margin-top到该容器中。您还将看到我为#contentdiv 添加了一个明确的修复程序,因此在页脚上不需要它。

<div id="header"></div>
<div id="content">
    <div class="left"></div>
    <div class="right"></div>
</div>
<div id="footer"></div>
于 2013-05-28T18:25:58.360 回答
0

从所谓的文档流中删除绝对固定定位的元素。其他元素不再关心它们——对它们来说,它们不存在。换句话说:您描述的行为应该是这样的。

不过,您可以使用 margin-top 将其他元素向下推。

.left, .right {
    margin-top: 100px;
}
于 2013-05-28T18:03:16.940 回答