关于css盒子边框、内边距、外边距
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于css盒子边框、内边距、外边距相关的知识,希望对你有一定的参考价值。
参考技术A 使用width来设置盒子内容区的宽度使用height来设置盒子内容区的高度
width和height只是设置的盒子内容区的大小,而不是盒子的整个大小,盒子可见框的大小由内容区,内边距和边框共同决定
为元素设置边框
要为一个元素设置边框必须指定三个样式
border-width:边框的宽度
border-color:边框颜色
border-style:边框的样式
使用border-width可以分别指定四个边框的宽度
如果在border-width指定了四个值
则四个值会分别设置给上、右、下、左,按照顺时针的方向设置的
如果指定三个值
则三个值会分别设置给上、左右、下
如果指定两个值
则两个值会分别设置给上下、左右
如果指定一个值,则四边全都是该值
除了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;
css中的盒子模型
1.盒子模型就是规定了元素框处理元素内容、内边距、边框 和 外边距 的方式。
width 和 height 指的是内容区域的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。
假设框的每个边上有 10 个像素的外边距和 5 个像素的内边距。如果希望这个元素框达到 100 个像素,就需要将内容的宽度设置为 70 像素,请看下图:
我们看的这两幅图应该可以把盒子结构模型了解得很清楚,但是我们要注意浏览器的兼容性,一般来说大多数浏览器会按照上面的图示来呈现,然而 IE 5 和 6 的呈现却是不正确的。
2.现在我们就分开来看具体的边距是怎样的
内边距:padding:元素的内边距在边框和内容区之间
内边距的属性:我们可以这样写padding:auto;这是让这个元素在页面居中auto它是一个复合元素
如果我不想它居中怎么办呢?
我们也可以只让它有上面的内边距padding-top
右面的内边距padding-right
下面的内边距padding-bottom
下面的内边距padding-left
我们也可以这样来写h1padding:10px 10px 10px 10px(我这是随便给的值,我只是告诉你写的方式是这样的)
切记我边距都可以先这样写我们给边距赋值的方向是上右下左,值可以是px也可以是%。
边框(border)
是围绕元素内容和内边距的一条或多条线
边框的样式border-style
还有单边样式
边框宽度
单边宽度
边框颜色border-color
单边颜色
css边框属性:可以对照这个看一下
外边距:围绕在元素边框的空白区域是外边距(margin)它的用法跟内边距的用法一样在这我就不啰嗦了。
以上是关于关于css盒子边框、内边距、外边距的主要内容,如果未能解决你的问题,请参考以下文章
CSS设置元素内边距(padding)外边距(margin)