Css 相对和绝对定位混淆
我是html/css新手,我刚刚开始思考定位问题,但我似乎有一个误解。现在,我正在尝试创建一个页面标题,标题下方有一个水平分隔符。我的标题是绝对定位的,顶部和左侧的值为0,高度为88。我想,如果我给出我的水平分隔线位置:相对,高度为5,它将在我的标题下结束。相反,它会出现在页面的最顶端,我不知道为什么 我想在我的页面上再次使用这个水平分隔符,就在我的页脚上方,所以我不想给这个水平分隔符Css 相对和绝对定位混淆,css,html,css-position,Css,Html,Css Position,我是html/css新手,我刚刚开始思考定位问题,但我似乎有一个误解。现在,我正在尝试创建一个页面标题,标题下方有一个水平分隔符。我的标题是绝对定位的,顶部和左侧的值为0,高度为88。我想,如果我给出我的水平分隔线位置:相对,高度为5,它将在我的标题下结束。相反,它会出现在页面的最顶端,我不知道为什么 我想在我的页面上再次使用这个水平分隔符,就在我的页脚上方,所以我不想给这个水平分隔符位置:绝对和顶部:88px。非常感谢您的帮助,非常感谢 到目前为止,我的代码(非常简单): <div id
位置:绝对和顶部:88px
。非常感谢您的帮助,非常感谢
到目前为止,我的代码(非常简单):
<div id="header"></div>
<div class="horizontal-divider"></div>
#header {
position: absolute;
top: 0px;
left: 0px;
height: 88px;
width: 100%;
}
.horizontal-divider {
position: relative;
height: 5px;
width: 100%;
top: 0px;
background-color: white;
border: 1px solid black;
}
#标题{
位置:绝对位置;
顶部:0px;
左:0px;
高度:88px;
宽度:100%;
}
.水平分隔器{
位置:相对位置;
高度:5px;
宽度:100%;
顶部:0px;
背景色:白色;
边框:1px纯黑;
}
绝对定位相对于其包含块的边缘定位元素。它的包含块是其最近的祖先,其位置设置为非静态的任何内容。它也会使元素脱离正常的流动,因此它不会影响跟随它的任何东西的位置
相对定位将一个元素相对于其在位置:静态时的定位位置进行定位(而不是相对于任何其他元素)
由于#标题是绝对定位的,。水平分隔符
不在其后面定位
如果希望在绝对定位的元素之后立即渲染元素,则:
不要绝对定位第一个元素
将两个元件放置在另一个(容器)元件中(使其在正常流量下一个接一个地布置)
绝对定位容器元素
这就是说,您应该能够通过在标题上设置边框底部
并完全删除分隔符来获得想要的效果。当任何div被赋予绝对位置时,它将从html页面的正常流程中删除。因此,水平尺和后面的其他div的作用就好像头力存在一样。因为收割台有一个相对的位置,它在正常流量中,它的到来相对于正常流量中的第一个div(在这种情况下没有)。所以,它的右边在顶部。希望这能有所帮助。如果您正试图将位置:绝对
与位置:相对
一起使用,那么您的位置:绝对
包装器应该位于位置:相对
内,那么使用位置:绝对
下面是您的工作示例,或者您可以按照以下代码进行操作:
<!-- The CSS -->
<style type="text/css">
#header {
position: relative;
top: 0px;
left: 0px;
height: 88px;
width: 100%;
background-color: #f00;
}
.horizontal-divider {
background-color: #999;
border: 1px solid #000;
bottom: 0;
height: 5px;
position: absolute;
width: 100%;
}
</style>
<!-- The HTML -->
<div id="header">
<div class="horizontal-divider"></div>
</div>
#标题{
位置:相对位置;
顶部:0px;
左:0px;
高度:88px;
宽度:100%;
背景色:#f00;
}
.水平分隔器{
背景色:#999;
边框:1px实心#000;
底部:0;
高度:5px;
位置:绝对位置;
宽度:100%;
}
关于定位元素的一个很好的教程在这里如果您给出了相对于任何元素的位置,那么您可以将该元素移动到顶部、底部、左侧或右侧。及其独立性
绝对元素依赖于其最近的相对父元素。如果您希望任何元素仅位于框中。那么这个盒子的位置必须是相对的
例如:
<div class="example">
<div class="test">
<div class="child">
<p>Sample Text</p>
</div>
</div>
</div>
示例文本
如果希望段落标记位于test div中,则.test的位置必须是相对的
类似地,如果希望段落标记位于示例div中,则.example的位置必须是相对的