一、什么是CSS盒模型?CSS盒子模型包括元素、内边距、边框、外边距,以下图:html
二、元素分类:元素能够分为块状元素、内联元素、内联块状元素。post
经常使用块状元素:<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>url
经常使用内联元素:<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>spa
经常使用内联块状元素:<img>、<input>code
(1)块状元素(也叫块级元素)特色orm
-
- 每一个块级元素都重新的一行开始,而且其后的元素也另起一行。
- 元素的高度、宽度、行高以及顶和底边距均可设置。
- 元素宽度在不设置的状况下,是它自己父容器的100%(和父元素的宽度一致),除非设定一个宽度。
注:可使用display: block,将元素转为块状元素,使之具有块状元素的特色。htm
(2)内联元素(也叫行内元素)特色blog
-
- 和其余元素都在一行上;
- 元素的高度、宽度及顶部和底部边距不可设置;
- 元素的宽度就是它包含的文字或图片的宽度,不可改变。
注:可使用display: inline,将元素转为内联元素,使之具有内联元素的特色。图片
(3)内联块状元素特色ci
-
- 和其余元素都在一行上;
- 元素的高度、宽度、行高以及顶和底边距均可设置。
注:可使用display: inline-block,将元素转为内联块状元素,使之具有内联块状元素的特色。
三、盒模型--边框:边框涉及到三个点,分别是边框的粗细、样式、颜色。如border: 2px solid red,意思为粗细为2px,样式为实线,颜色为红色。
粗细:通常使用像素点表示,如2px;
样式:经常使用的样式有solid(实线)、dashed(虚线)、dotted(点线);
颜色:可使用RGB表示,也可使用red、blue这种表示。
注:边框能够分为border-top、border-bottom、border-left、border-right,分别是上边框,下边框,左边框和右边框。border包括了这四个部分。
四、盒模型-宽度和高度
宽度=元素宽度+左右内边框宽度+左右边框宽度+左右外边框宽度
=200 +20 * 2 +1 * 2 +10 * 2
=262
高度=元素高度+左右内边框高度+左右边框高度+左右外边框高度
=18 +20 * 2 +1 * 2 +10 * 2
=80
五、盒模型--填充:设置元素与边框之间的距离,叫作填充。用padding设置,padding也分为四部分,即上右下左(padding-top/padding-right/padding-bottom/padding-left),它们是顺时针。
例子:
padding: 10px 11px 12px 13px; <!--顺序为上右下左-->
上面也能够写为
padding-top:10px;
padding-right:11px;
padding-bottom:12px;
padding-left: 13px;
若是上下均为10px,左右均为20px,那么能够这样写
padding: 10px 20px;
若是上下左右相同,均为10px,那么能够这样写
padding: 10px;
六、盒模型--边界:元素之间的距离就是边界,也就是外边框,用margin设置。margin也分为四部分,即上右下左(margin-top/margin-right/margin-bottom/margin-left)。
例子:
margin: 10px 11px 12px 13px; <!--顺序为上右下左-->
上面也能够写为
margin-top:10px;
margin-right:11px;
margin-bottom:12px;
margin-left: 13px;
若是上下均为10px,左右均为20px,那么能够这样写
margin: 10px 20px;
若是上下左右相同,均为10px,那么能够这样写
margin: 10px;