Html 定位方案受子元素的影响

Html 定位方案受子元素的影响,html,css,css-position,Html,Css,Css Position,考虑以下HTML标记: <div><span></span></div> 没关系。内容按预期显示: 但是,如果我试图从div中删除位置:绝对,那么就会发生一些不可理解的事情 问:为什么使用position:absolute时span从父div的边界出来,div的定位方案会影响span渲染?为绝对值元素,则子元素相对于该绝对父元素 因此,由于父对象现在是静态的,并且位置是绝对的元素与静态位置不相关 为了使绝对元素相对于父元素,请使用位置:相对 di

考虑以下HTML标记:

<div><span></span></div>
没关系。内容按预期显示:

但是,如果我试图从
div
中删除
位置:绝对
,那么就会发生一些不可理解的事情


问:为什么使用
position:absolute时
span
从父div的边界出来,div的定位方案会影响
span
渲染?

位置下的code>为绝对值元素,则子元素相对于该<代码>绝对父元素

因此,由于父对象现在是静态的,并且位置是绝对的元素与静态位置不相关

为了使
绝对
元素相对于父元素,请使用
位置:相对

div {
    border: 5px solid yellow;    
    width: 200px;
    height: 200px;
    margin: 40px auto;
    position: relative;
}

有关CSS定位的更多信息,请阅读我的答案。

只需将
div
位置更改为
相对


如果要包装定位的绝对元素,则应应用相对于父元素的位置span@laaposto对不起,这是打字错误。我的问题是关于另一件事。我想了解为什么跨度元素占据了所有可用的屏幕位置?
div {
    border: 5px solid yellow;    
    width: 200px;
    height: 200px;
    margin: 40px auto;
    position: relative;
}