CSS 之盒子模型——边框、内边距、外边距

使用width来设置盒子内容区的宽度浏览器

使用height来设置盒子内容区的高度样式

width和height只是设置的盒子内容区的大小,而不是盒子的整个大小,盒子可见框的大小由内容区,内边距和边框共同决定margin

 

为元素设置边框top

要为一个元素设置边框必须指定三个样式移动

border-width:边框的宽度di

border-color:边框颜色co

border-style:边框的样式background

 

使用border-width能够分别指定四个边框的宽度居中

若是在border-width指定了四个值ps

则四个值会分别设置给上、右、下、左,按照顺时针的方向设置的

若是指定三个值

则三个值会分别设置给上、左右、下

若是指定两个值

则两个值会分别设置给上下、左右

若是指定一个值,则四边全都是该值

除了border-width,CSS中还提供了四个border-xxx-width

xxx的值多是top right bottom left

专门用来设置指定边的宽度

 

* 设置边框的颜色

* 和宽度同样,color也提供四个方向的样式,能够分别指定颜色

例如:border-color: red;

/*border-color: red yellow orange blue;*/

/*border-color: red yellow orange;*/

/*border-color: red yellow;*/

格式和边框设置颜色相同.

 

* 设置边框的样式

* 可选值:

* none,默认值,没有边框

* solid 实线

* dotted 点状边框

* dashed 虚线

* double 双线

*

* style也能够分别指定四个边的边框样式,规则和width一致,同时它也提供border-xxx-style四个样式,来分别设置四个边

 

设置边框

大部分的浏览器中,边框的宽度和颜色都是有默认值,而边框的样式默认值都是none

*/

/* border-width: 10px;

border-color: red;

border-style: solid; */

/*

border

- 边框的简写样式,经过它能够同时设置四个边框的样式,宽度,颜色

- 并且没有任何的顺序要求

- border一指定就是同时指定四个边不能分别指定

border-top border-right border-bottom border-left

能够单独设置四个边的样式,规则和border同样,只不过它只对一个边生效

*/

/*border: red solid 10px;*/

/*border-left: red solid 10px;*/

 

内边距:

内边距(padding),指的是盒子的内容区与盒子边框之间的距离,一共有四个方向:

padding-top

padding-right

padding-bottom

padding-left

内边距会影响盒子的可见框的大小,元素的背景会延伸到内边距

盒子的大小由内容区、内边距和边框共同决定

盒子可见框的宽度 = border-left-width + padding-left + width + padding-right + border-right-width

盒子可见框的高度 = border-top-width + padding-top + height + padding-bottom + border-bottom-width

*/

/*设置上内边距*/

/*padding-top: 100px;*/

/*设置右内边距*/

/*padding-right: 100px;

padding-bottom: 100px;

padding-left: 100px;*/

/*

使用padding能够同时设置四个边框的样式,规则和border-width一致

*/

/*padding: 100px;*/

/*padding: 100px 200px;*/

/*padding: 100px 200px 300px;*/

 

外边距:

外边距指的是当前盒子与其余盒子之间的距离,他不会影响可见框的大小,而是会影响到盒子的位置

盒子有四个方向的外边距:

margin-top

margin-right

margin-bottom

margin-left

因为页面中的元素都是靠左靠上摆放的,因此注意当咱们设置上和左外边距时,会致使盒子自身的位置发生改变,而若是是设置右和下外边距会改变其余盒子的位置

*/

/*设置上外边距,即盒子的上边框与其余盒子的距离*/

/*margin-top: 100px;*/

/*左外边距*/

/*margin-left: 100px;*/

/*设置右和下外边距*/

/*margin-right: 100px;

margin-bottom: 100px;*/

/*

外边距也能够指定为一个负值,若是外边距设置的是负值,则元素会向反方向移动

*/

/*margin-left: -100px;

margin-top: -100px;

margin-bottom: -100px;*/

/*margin-bottom: -100px;*/

/*

margin还能够设置为auto,auto通常只设置给水平方向的margin

若是只指定,左外边距或右外边距的margin为auto则会将外边距设置为最大值

垂直方向外边距若是设置为auto,则外边距默认就是0

若是将left和right同时设置为auto,则会将两侧的外边距设置为相同的值,就可使元素自动在父元素中居中

因此咱们常常将左右外边距设置为auto,以使子元素在父元素中水平居中

*/

/*margin-left: auto;

margin-right: auto;*/

/*margin-top: auto;*/

/*

外边距一样可使用简写属性 margin,能够同时设置四个方向的外边距,规则和padding同样

*/

/*margin: 10px 20px 30px 40px;*/

为上边的元素设置一个下外边距:margin-bottom: 100px;

为下边的元素设置一个上外边距:margin-top: 100px;

 

垂直外边距的重叠

在网页中相邻的垂直方向的外边距会发生外边距的重叠

所谓的外边距重叠指兄弟元素之间的相邻外边距会取最大值而不是取和

若是父子元素的垂直外边距相邻了,则子元素的外边距会设置给父元素

 

.box3{

width: 200px;

height: 100px;

background-color: yellow;

/*为box3设置一个上边框*/

/*border-top: 1px red solid;*/

/*padding-top: 1px;*/

padding-top: 100px;

}

 

.box4{

width: 100px;

height: 100px;

background-color: yellowgreen;

/*为子元素设置一个上外边距,使子元素的位置下移*/

/*margin-top: 100px;*/

 

浏览器为了在页面中没有样式时,也能够有一个比较好的显示效果,因此为不少的元素都设置了一些默认的margin和padding,而它的这些默认样式,正常状况下咱们是不须要使用的。

因此咱们每每在编写样式以前须要将浏览器中的默认的margin和padding通通的去掉

格式:

*{

margin: 0;

padding: 0;

}

做者:啊烟雨 连接:https://www.jianshu.com/p/8970807d2a84 来源:简书 简书著做权归做者全部,任何形式的转载都请联系做者得到受权并注明出处。