如果我分配position:absolute
给一个元素,它width
不会根据里面的文本而变化。
另一方面,如果我分配position:relative
给该元素,width
则将根据里面的文本而有所不同。
在这里,我有两个菜单,每个菜单都有不同的position
属性:http:
//jsfiddle.net/je3PX/4/
这是什么原因?为什么要width
依赖position
属性?我希望使它根据文本大小而有所不同。
谢谢。
如果我分配position:absolute
给一个元素,它width
不会根据里面的文本而变化。
另一方面,如果我分配position:relative
给该元素,width
则将根据里面的文本而有所不同。
在这里,我有两个菜单,每个菜单都有不同的position
属性:http:
//jsfiddle.net/je3PX/4/
这是什么原因?为什么要width
依赖position
属性?我希望使它根据文本大小而有所不同。
谢谢。
的默认值为,width
这auto
意味着它将根据需要自行适应布局。对于块级元素(display:block
等),这意味着适应父容器,对于内联元素(display:inline
等),这意味着适应内容。
其中的position
属性因素在于该值relative
不会将元素带出常规流布局,因此仍保持基本规则。该值absolute
确实将其从常规流布局中取出,因此不再有父级作为宽度的基础,因此回退到适合内容。
相关规则在W3 CSS2 规范的第 10 章中定义(太长无法引用)。