margin取负值之后,例如margin-top:-1px元素会从父框架的顶部突出一个像素,如果父框架设置了overflow:visibled的话,这个元素就会看起来显示在父框架外面了,如果取了正值,例如margin-top:1px元素就是距离父框架的顶部一个像素,会在父框架内显示。
padding取了负值之后是没有任何效果的,浏览器会认为padding:0。如果padding取正值,就是在元素内部填充,这个很好理解。position取了负值之后的效果和margin差不多,只是position通常是应用绝对定位场景的,而margin通常是应用在相对定位场景的,而且position可以定义z轴上的位置关系,但是margin一般是不可以的,两个的区别主要是在这个方面,至于取负值,在视觉上其实没有什么太大的区别。
/**************************** 废话开始 *****************************/Js 中有两个函数:parseInt 和 parseFloat,功能分别是把“字符串”转换为“整数(Int)”和“浮点数(Float)”。它们的第一个参数是要进行转换的“字符串”,第二个参数可选,表示这个字符串中数字的进制。比如下面的最后一个例子,16 进制的 22 转为了 10 进制的 34。
parseInt('-12') // => -12parseInt('-12.3') // => -12
parseInt('1w2.3') // => 1
parseFloat('-12.3') // => -12.3
parseInt('22', 16) // => 34
说回来,怎么检查 css某属性为负数呢?
我们知道,jQuery 是这样读取 css 属性值,返回 字符串 类型
$('selector').css('padding')要进行判断,可以使用 parseInt/parseFloat 转换为数字,再与零比较大小可知正负。
if ( parseInt( $('selector').css('padding'), 10 ) < 0 ) {// 是负数
} /**************************** 废话结束 *****************************/
但是你会发现,上面的这个判断表达式永远不会返回 true。为什么?!
因为你忽略了 padding 取值的范围。
来!请跟我读:【padding 属性不允许使用负值】。
所以说,你的 padding: -5px并没有生效。
1、solid是border(边框)的属性,意思是实心线2、line-height是行高的意思,行高和容器高度一致的时候,就可以垂直居中了,不过只限一行3、你说的是垂直居中还是,水平居中,是文字,还是元素 文字水平居中是 text-align:center 元素水平居中是 给居中元素设置宽度,然后设置margin:0 auto垂直居中就比较复杂了。