关于前端学习的思考-内边距、边框和外边距

从最简单的盒子开始思考

先把实际应用摆出来:

margin:居中,控制边距。

padding:控制边距。

border:制作三角形。

 

盒子分为内容盒子,内边距盒子,边框和外边距。

如果想让块级元素居中,需要使用margin-left=auto;margin-right=auto;

如果宽度没有,高度没有,这样的居中是无效的。

关于前端学习的思考-内边距、边框和外边距_第1张图片

例如图中的效果,因为宽度没有,高度没有,浏览器自动绘制:宽度横跨浏览器,高度为零。一旦宽度有,比如500px,

关于前端学习的思考-内边距、边框和外边距_第2张图片

我们会发现,margin会自动填充,以使得盒子居中,注意这里是指内容盒子居中。那么如果我们去掉水平的auto,又会发生什么呢?

关于前端学习的思考-内边距、边框和外边距_第3张图片

我们发现内容边框是从左往右绘制的,margin,padding,border不设置是不会显示的,那么内边距和外边距同时为auto,它们有没有优先级?

关于前端学习的思考-内边距、边框和外边距_第4张图片

关于前端学习的思考-内边距、边框和外边距_第5张图片

如上图,为了严谨一点,我们将padding水平部分和margin水平部分的代码顺序也调换了,代码调换也是浏览器调试时候的小技巧。

所以综上,padding水平和margin水平同时存在的时候,margin水平要先于padding水平。

关于前端学习的思考-内边距、边框和外边距_第6张图片

而后我们发现无论在任何情况下,padding水平设置auto无效。

所以水平方向只有margin在内容盒子居中方面有贡献。

那么垂直方向的margin又是干嘛的呢?

设置了一遍。

貌似一点用处都没有。。。

 

 

你可能感兴趣的:(前端,学习)