如果我将position:absolute
分配给某个元素,则其width
将不会变化,具体取决于其中的文字。
另一方面,如果我将position:relative
分配给该元素,则width
会因内部文字而异。
这里我有两个菜单,每个菜单都有一个不同的position
属性:
http://jsfiddle.net/je3PX/4/
这是什么原因?为什么width
取决于position
属性?
我希望它取决于文字大小。
感谢。
答案 0 :(得分:9)
width
的默认值为auto
,这意味着它会根据需要自行调整布局。对于块级元素(display:block
等),这意味着适应父容器,对于内联元素(display:inline
等),这意味着适应内容。
此position
属性因素是值relative
不将元素从常规流布局中取出,因此基本规则仍然维护。值absolute
确实将其从常规流布局中取出,因此不再有基于宽度的父级,因此回退到适合内容。
相关规则在chapter 10 of the W3 CSS2 specification中定义(引用时间太长)。