admin 管理员组

文章数量: 1086019

你真的了解padding吗?

话说你真的了解padding吗? 今天看了下同事的页面布局方案感觉自己真的是对padding了解的太少了。

于是就从网上撸了撸长常见的padding的用法,算是增长自己的见识吧!

我们都知道:

padding 简写属性在一个声明中设置所有内边距属性。

说明
这个简写属性设置元素所有内边距的宽度,或者设置各边上内边距的宽度。行内非替换元素上设置的内边距不会影响行高计算;因此,如果一个元素既有内边距又有背景,从视觉上看可能会延伸到其他行,有可能还会与其他内容重叠。元素的背景会延伸穿过内边距。不允许指定负边距值。
注释:不允许使用负值。(以上来自w3school)

你能想象到padding:-100px是什么样子吗?

????————–》 padding变化是否会影响容器的尺寸 《—————-????

1、对于block元素
如果宽度非auto那么容器会变大,如果容器宽度自适应或者设置了box-sizing:border-box,并且值在可控区间内是不会影响内容宽度的,如果值暴走那么容器肯定会变化。

2、 对于内联元素
内联元素的padding只会影响左右尺寸上下尺寸不影响但是背景色会显现当上下值暴走的时候会影响外容器的高度
利用这一特性我们可以做类似于:注册 | 登陆 这种中间的间隔线

*{padding: 0;margin: 0;}span {padding: 12px 4px 2px;margin-left: 8px;border-left:2px solid;font-size:0;}
</style>
</head>
<body>注册<span></span>登陆
</body>**<h1>***有没有感到上述代码很神奇***<h1>**

纠正一下:

margin,padding的百分比是相对与父元素的宽度来进行计算的

如果父元素没有设置宽度(脱离文档流[float,absolute,fixed]),那又该怎样计算呢??

实践的答案是:padding的百分比没有用了

本文标签: 你真的了解padding吗