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

html-css013

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

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')      // => -12

parseInt('-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垂直居中就比较复杂了。