css 你真的了解padding吗?
前言
padding 简写属性在一个声明中设置所有内边距属性,实际上在使用过程中它对block元素和内联元素的处理是不一样的。
正文
对于block元素
如果宽度非auto那么容器会变大,如果容器宽度自适应或者设置了box-sizing:border-box,并且值在可控区间内是不会影响内容宽度的,如果值暴走那么容器肯定会变化。
对于内联元素
内联元素的padding只会影响左右尺寸,上下尺寸不影响但是背景色会显现,当上下值暴走的时候会影响外容器的高度。
利用这一特性我们可以做类似于:注册 | 登陆 这种中间的间隔线
margin,padding的百分比是相对与父元素的宽度来进行计算的
如果父元素没有设置宽度(脱离文档流[float,absolute,fixed]),那又该怎样计算呢??
实践的答案是:padding的百分比没有用了,这里不是说padding不生效,而是脱离文档里后,父元素没有宽度了,和高度了,这个时候父元素宽度就是内部元素宽度,所以padding是没有意义的。当然需要设置父元素的宽度为100%,这个时候依然有效。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <div style="position:relative"> <div style="position:absolute"> <span style="display:inline-block;padding: 200px;"> test the padding </span> </div> </div> </body> </html>
相关推荐
AlisaClass 2020-07-19
today0 2020-09-22
89520292 2020-09-18
周公周金桥 2020-09-06
bigname 2020-08-25
灵均兰草 2020-08-20
hannuotayouxi 2020-08-20
ChinaWin 2020-08-13
大象从不倒下 2020-07-31
好好学习天天 2020-07-28
powrexly 2020-07-20
88530091 2020-07-14
WebVincent 2020-07-09
骆驼的自白 2020-06-26
lanzhusiyu 2020-06-21
诗蕊 2020-06-14
jiedinghui 2020-05-30
kangtingting0 2020-05-20