css中负值(px)的问题有什么?

html-css07

css中负值(px)的问题有什么?,第1张

margin取负值之后,例如margin-top:-1px元素会从父框架的顶部突出一个像素,如果父框架设置了overflow:visibled的话,这个元素就会看起来显示在父框架外面了,如果取了正值,例如margin-top:1px元素就是距离父框架的顶部一个像素,会在父框架内显示。

padding取了负值之后是没有任何效果的,浏览器会认为padding:0。如果padding取正值,就是在元素内部填充,这个很好理解。position取了负值之后的效果和margin差不多,只是position通常是应用绝对定位场景的,而margin通常是应用在相对定位场景的,而且position可以定义z轴上的位置关系,但是margin一般是不可以的,两个的区别主要是在这个方面,至于取负值,在视觉上其实没有什么太大的区别。

用一个 div 试一下就知道了。比如:

<div class="f_margin">

这个是测试 DIV 盒子。

</div>

.f_margin {

margin: 100% -150px

...

...

}

实践是检验真理的唯一标准。

margin的负值,叫负外补丁,4个方向都可以有负值,就是缩小容器的外围。一般配合position使用。

比如一个水平绝对居中的用法。

#box { width:960pxheight:50pxmargin-left:-480pxpadding:0position:absoluteleft:50%top:0z-index:16}

这里就用到了 margin-left:-480px是该容器一半的宽度,从而绝对居中。

当然负外补丁用法还不少,自己可以google下。

跟兼容性没有关系,是靠你调整自己的css代码达到兼容的。