绝对定位后div就脱离文档流了...
结果导致后面的DIV都必须绝对定位,要不就挤上去了...
有什么方法令DIV不脱离文档流吗
没明白你的意思。不想脱离文档流就用相对定位
或者是在相对定位的元素内进行绝对定位
两个 A DIV ,B DIV。
我需要A和B有一部分重合,一部分不重合,相对定位会留下原来的位置,导致B和后面DIV之间有一条空隙。
所以我选择了绝对定位,但是绝对定位却又脱离文档流了,所以后面的DIV挤了上来到B下面被B覆盖了。
事实给后面的DIV就能解决现在的问题,但是我想问问除了这种方法还有什么方法...让B后面的DIV与B相接
定位都是相对的,所有的定位都要考虑定位父级
按照你的需求,A应该是相对定位,B做为A的子节点绝对定位即可,这样B的定位父级就是A,所有的偏移都是基于A的
根据你的需求将B定位到A的相对位置即可
你没搞懂position:absolute和position :relative的区别,position:absolute是相对于第一个非静态流 的父元素而言,所以一般都是在父元素中设置position:relative 子元素设置position:absolute这样就不会说定 位 错误了,因为如果你不设置position这个 属性,所有元素都是默认static ,那么被设置为absolute的元素就会相对于body 来定位,导致位置错乱
定位都是相对的我懂,我的问题简单来说就是...绝对定位后的元素撑不开父元素,导致后面的元素挤到绝对定位的元素下面了
position: absolute;方式
|
position: relative;方式
|
默认定位position: static方式
<!doctype html>
<html lang=
"en"
>
<head>
<style type=
"text/css"
>
body {
margin
:
0
;
padding
:
0
;
}
#a {
background-color
:
#f00
;
height
:
200px
;
width
:
400px
;
}
#b {
background-color
:
#00f
;
height
:
200px
;
width
:
300px
;
margin-top
:
-100px
;
}
#c {
background-color
:
#0f0
;
height
:
200px
;
width
:
500px
;
}
</style>
</head>
<body>
<div id=
"a"
></div>
<div id=
"b"
></div>
<div id=
"c"
></div>
</body>
</html>
试试margin:负数
按照你 说的逻辑 难道 人要踩着另一个人的影子排队吗
你困惑是因为你吧定位 和 关系 混淆了
a,b 按你说法 他们的关系时 顺序排列
哪么他们之间应该是一个 静态关系 大家都是 position:statiic
然后你说 a要定位 哪么 a,b外面应该在套一个div 然后这个div用来定位,资源代下载99dxz
我也遇到这样的问题
我想的是 让C不要成为A的子元素 A相对定位 C拍在A后面 给A一定的宽高 C就不会和B重合了
难怪版主会无语,此贴我越往后翻越绝望, 现决定自己去测试十余种方案解决, 答非所问不如自己多测试!
听不懂不代表别人是不对的,这就是所谓的,跟卖菜者讲话,请勿之乎者也呀。
大哥 定位才会脱离文档流好吧,你这,,,啧啧啧
给父元素设置display:flex;justify-content: space-between;就可以实现子元素排版问题,当然对于复杂的元素不能这么操作。
父元素开启绝对定位之后,子元素加一margin-top,子元素兄弟元素都不会往上跑了