您的位置:首页 > 其它

padding margin border 和元素大小

2015-09-04 16:15 302 查看
元素占用宽度 = 元素宽度+padding+border+margin

注意margin只是隔开元素,不会使得元素变大,而padding会使得元素变大,也就是说

元素真实宽度=元素宽度+padding+border

border 在元素的外层

一、关于Padding

1、设置对象四边的内边距。默认值是0。

2、如果提供全部四个参数值,将按上、右、下、左的顺序作用于四边。

3、如果只提供一个,将作用于全部的四边。

4、如果提供两个,第一个作用于上、下,第二个作用于左、右。

5、如果提供三个,第一个作用于上,第二个作用于左、右,第三个作用于下。

6、内联对象要使用该属性,必须先设定对象的height或width属性(在样式表中将width和height写在padding前面即可),或者设定position属性为absolute。不允许负值。

7、内边距留白处总是透明的,并且设置内边距会直接影响对象的大小。


提示:


(1)设置了padding属性就相当于增加了对象的大小。原宽270px,高175px,设置padding:30px 0 0
40px后对象的大小应该是宽为310px,高为205px,要想保持原大小就必须减去相应的宽高。所以,对象的宽是270-40=230px,高是
175-30=145px。

(2)padding是不具有继承性的。

(3)padding属性是可以分别设置的。padding-top、padding-right、padding-bottom、padding-left分别作用于上、右、下、左四边。语法和参数和padding的设置相同。

二、关于margin

(1)设置对象四边的外边距。默认值是0。

(2)如果提供全部四个参数值,将按上、右、下、左的顺序作用于四边。

(3)如果只提供一个,将作用于全部的四边。

(4)如果提供两个,第一个作用于上、下,第二个作用于左、右。

(5)如果提供三个,第一个作用于上,第二个作用于左、右,第三个作用于下。

(6)内联对象要使用该属性,必须先设定对象的height或width属性,或者设定position属性为absolute。

(7)外边距总是透明的,并且设置外边距不会直接影响对象的大小,只是相对位置发生变化。

提示:

(1)margin属性不具有继承性。由于IE的双边距BUG会往往导致内联对象设置边距后与父对象左边的距离实际值不符,遇到这样的问题就加display:inline;,意思是把对象视作行级元素。

(2)设置内联对象的上下边距是不会出现双边距问题的。margin不具有继承性,内联对象设置左右边距时出现双倍边距完全是IE的BUG。

(3)margin属性是可以分别设置的。margin-top、margin-right、margin-bottom、margin-left分别作用于上、右、下、左四边。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: