为了账号安全,请及时绑定邮箱和手机立即绑定

高手来解释~~

使用相对定位 position:absolute 时,若将代码 top:0px  删去,则会出现右侧框架另起一行,左侧和中间在一行,这是因为div是块级元素的原因,但是为什么不出现三行的情况?

正在回答

2 回答

我实现了一下确实如你所说。我把left 和right 和main的top:0px;全都去掉了。

left就不用解释啦,它本来就在第一行。

main在第一行是为毛呢,因为left中有一句是position:absolute; 

本来left是块状元素,display的属性是block(块状元素)

如果元素中设置了position:absolute或者float:left/right,display就会隐性自动改变成inline-block(内联块状元素)

内联块状元素就是可以和其他元素在同一行,如有不懂,可以看一下HTML+CSS基础课程。

至于right会在新的一行,那是因为main已经把第一行的位置全部占用了,right只能在下一行。

我是刚看完那个才记得,所以我不是大神哈,很开心能帮助你。



0 回复 有任何疑惑可以回复我~
#1

izero_

刚发了就发现似乎没解决您的问题,我又实验了一下。 <a>aaaaa</a> <div>hahaha</div> 这样是会在新的一行 如果让a标签加上position:absolute; 这两个东西就会重合再一起,它不会占据任何一行。应该这就是内联块状元素的特点。 虽然没什么根据,就先这样理解者吧,我百度了也没什么人问关于内联块状元素的特点,我猜这就是特点之一。 不好意思哈,一起等大神解决问题好了~
2016-02-11 回复 有任何疑惑可以回复我~
#2

全栈港 提问者

非常感谢!
2016-02-20 回复 有任何疑惑可以回复我~

等到了有心人(●ˇ∀ˇ●)

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
如何用CSS进行网页布局
  • 参与学习       209624    人
  • 解答问题       1153    个

用最简洁的案例教你布局的那些知识,这是前端工程师基本技能

进入课程

高手来解释~~

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信