慕粉1858325165
你试了一下效果是一下的没有,margin之间有重叠的问题的
慕粉1858325165
慕婉清4583709
有区别的。因为如果是正常的div是会影响到文档流,你想想,如果你的另一个div作为待选框,那么你要控制它的display属性(none / block),如果是display: block,那么在这个div之后的元素的排版都会发生变化,有可能会往下移动。那如果待选框的div的position:abusolute,这样的话就会脱离文档流,就是说不会影响到该待选框div之后的元素的布局,因为abusolute的div会漂浮在普通元素的正上方而不影响普通元素的布局。你总不能说打开待选框之后页面布局都发生变化吧,那方向就走偏了,使用abusolute的要达到的效果就是不影响普通元素(即非abusolute)元素的布局
kofzxaaa
.....
慕圣3884667
对,一般都是用js,css也可以实现,兼容不高
PARADISELIN
应该是不会的。子元素的定位信息是通过margin的。不受上一级relative的影响
帅踢锅
原理跟上一篇是一样的,把ul作为第一个子元素的话,ul默认就显示在父级的最左上边,但这个ul由于设置了absolute,所以不占据宽高, 那ul后面的input就会在ul的位置上(当ul不存在一样),这个时候再通过margin-top就能把ul移到下面去了,刚好达到想要的效果。
鬼猫猫
DawnnT.GY