使用top和left属性以及top和left边距有什么区别?
我知道top和left通常用在position:absolute situation中,但我还是想知道有没有什么主要的区别。
例如:
position:absolute;
top:5px;
left:5px;-vs-
margin-top:5px;
margin-left:5px;发布于 2011-06-21 09:56:00
好吧,主要的区别是绝对定位的元素被从内容流中拉出。
但是对于相对定位的元素,周围的内容可能会变得模糊。
另一方面,边距被添加到元素的大小,而周围的内容相应地流动。
请参阅有一些不同之处的this sample fiddle。
当然,在某些情况下,两者都会产生相同的结果,但在正常情况下,这两种方法不能简单地互换或比较。
发布于 2011-06-21 09:53:54
边距描述方框和相邻方框之间的间距。相对定位的框(即正常流程的一部分)将在它们之间保持足够的空间,以满足每个框的“边际”要求(称为“边际折叠”)。
另一方面,top和left是位置属性,它们指定盒子的位置;对于绝对定位的盒子,其值是相对于最近的绝对定位的包含盒子。top/left/bottom/right属性指定框的各个边的位置,包括边距。
简而言之,这两者是完全不同的概念。对于正常流动的长方体,应该使用margin来控制相邻长方体之间的间距。
发布于 2011-06-21 10:28:36
A存在语义上的差异。像top这样的盒子偏移量指定了盒子的边缘(下图中的虚线边缘)与参考边缘的偏移距离(对于绝对定位的元素,这是盒子包含块的顶端边缘)。边距属性(如margin-top )指定框的边距区域的宽度(下图中虚线边缘和实心边缘之间的距离TM )。

B top和left仅适用于定位的元素( position设置为static以外的任何值的元素),而margin-top和margin-left适用于除表格显示类型不是表格标题、表格和内联表格之外的所有元素。
https://stackoverflow.com/questions/6419411
复制相似问题