margin:
margin有marginmargin-topmargin-rightmargin-leftmargin-bottom可以分别设置也能一次性设置
内边距则是:padding:
和上面margin差不多
他们的设置值是具体的数值或者百分比!
内边距处于父元素和子元素之间,设置在父元素上,可以理解成物品和盒子中间塞的那层泡沫塑料,使用padding属性。
padding后面可跟多个值,中间用空格分离,含义如下:
我们放置一个宽高为200px的红色大盒子,其中包着一个宽高为100px的粉色小盒子。
我们给大盒子设置一个内边距为50px。
我们会发现给父元素设置了一条左内边距后,它的宽度也被撑大了,这显然不是我们想要的效果,解决方法就是如果加了左内边距,就把父元素宽度缩小相应长度,比如我们刚刚增加了50px的左内边距,就把父元素宽度从200px变为150px,就能达到效果啦,其它方向也是一样的,比如加了上内边距就缩小高度。
下图就可以理解成一个盒子里面套了一个列表,中间有内边距:
我们再来看下面这个图案,由三个盒子和内边距绘制而成。
(盒子就可以替换成其它各种块元素,比如上图里面就是列表)
html:
css:
可以看到我省略了很多宽高。
(1)由于块元素默认宽度占一整行,高度由内容撑开,我们很多时候可以只给最外面的元素设置宽度,最内部的元素设置高度,其它省略,也能达到效果。
如图3-2-1中,我们只需要提供每个列表元素<li>的高度和外面大盒子的宽度即可,其它用内边距撑起或挤出。
(2)最终的高度和内部元素的宽度都是由最外元素宽度、最内元素高度和所有内边距撑起或者挤出来的。
如图3-3-2中:
中间橙色盒子的宽度=红色大盒子的宽度-红色大盒子的左右内边距
红色大盒子的高度=黄色小盒子的高度+橙色中盒子的上下内边距+红色大盒子的上下内边距。
以上操作仅针对块元素,对于内联元素, 左右内边距 是可以 正常使用 的,而 上下内边距 只能 延伸背景颜色 ,并不会把子元素挤到中间。