[size=large]
1.当元素紧邻容器的左边界时
1.1.margin-right
不管margin-right为何值都不会影响元素的位置。
当margin-right为正,而这个值不足够抵达容器右边界时,元素的位置理所当然不会有任何变化。当这个值足够大抵达容器右边界时,我们可以想象成该元素此时正受到来自右边界的推力,而这个推力值就是margin-right减去元素与右边界的距离。当margin-right的值无限大时,这个推力无限大,但是此时元素已经背抵容器左边界,毫无退路,所以它的位置丝毫不会受这个力的影响。
当margin-right为负,我们可以理解为元素的右边界塌陷了。同时,我们可以想象一条虚拟的元素右边界正在随着margin-right绝对值的增大而向左移动着。如果这个元素是浮动元素A,且它的后面紧邻另一个浮动元素B,那么后一个元素B就会紧贴着A元素的虚拟右边界而慢慢侵入A,当这个塌陷值足够大时,B甚至可以离开A并在A元素的左方越行越远。当然,我们此处讨论的是A元素背抵容器左边界的情况,那么B元素最多就是抵达容器的左边界。
1.2.margin-left
同理,当margin-left为正时,我们想象这个元素受到容器左边界的反作用力。而此时元素右边界没有依靠,所以它会受力向右移动,直到抵达容器右边界为止。
此时的margin-left为负值没有多大意义,
[/size]
1.当元素紧邻容器的左边界时
1.1.margin-right
不管margin-right为何值都不会影响元素的位置。
当margin-right为正,而这个值不足够抵达容器右边界时,元素的位置理所当然不会有任何变化。当这个值足够大抵达容器右边界时,我们可以想象成该元素此时正受到来自右边界的推力,而这个推力值就是margin-right减去元素与右边界的距离。当margin-right的值无限大时,这个推力无限大,但是此时元素已经背抵容器左边界,毫无退路,所以它的位置丝毫不会受这个力的影响。
当margin-right为负,我们可以理解为元素的右边界塌陷了。同时,我们可以想象一条虚拟的元素右边界正在随着margin-right绝对值的增大而向左移动着。如果这个元素是浮动元素A,且它的后面紧邻另一个浮动元素B,那么后一个元素B就会紧贴着A元素的虚拟右边界而慢慢侵入A,当这个塌陷值足够大时,B甚至可以离开A并在A元素的左方越行越远。当然,我们此处讨论的是A元素背抵容器左边界的情况,那么B元素最多就是抵达容器的左边界。
1.2.margin-left
同理,当margin-left为正时,我们想象这个元素受到容器左边界的反作用力。而此时元素右边界没有依靠,所以它会受力向右移动,直到抵达容器右边界为止。
此时的margin-left为负值没有多大意义,
[/size]