天天看點

html/css——盒模型

一、盒模型

把html網頁中的所有标簽都當作一個盒子,通過盒子的内容(width寬、height高)、内邊距(padding)、邊框(border)、外邊距(margin),來給每個盒子設定特定的樣式屬性。

html/css——盒模型

1、盒模型的描述:

width和height:内容的寬度、高度 ( 指的是盒子的空間 )。

padding:内邊距。

border:邊框。

margin:外邊距。

2、盒子的内容:

指盒子不算邊框 邊距的 空間 就是盒子的内容,用width、height來表示。

3、内邊距 padding

a、使用方法一:

内邊距padding 可以設定一個或者多個值 這種屬性我們成為是複合屬性

html/css——盒模型

b、使用方法二:

四個方向的内邊距可以單獨設定

padding-left: 左邊距

padding-right: 右邊距

padding-top: 上邊距

padding-bottom: 下邊距

4、邊框 border:

a、邊框 border 為複合屬性

border: red solid 20px;

代表四個方向的邊框都相同。

b、可以使用以下複合屬性對邊框進行設定:

border-left:red solid 20px; 左邊框

border-right:red solid 20px; 右邊框

border-top:red solid 20px; 上邊框

border-bottom:red solid 20px; 下邊框

c、邊框border 以及四個方向的border-left border-top border-right border-bottom 都需要設定三個值 順序 代表邊框的 寬度 樣式 顔色

每個方向單獨可以設定

border-width:20px; 一個值 四個邊的寬度

border-style:solid; 一個值 四個邊的樣式 實線 、虛線

border-color:#333; 一個值 四個邊的顔色

html/css——盒模型

可以設定不同方向的不同 樣式 寬度 顔色

html/css——盒模型

e、border-sytle屬性常用取值:

none:定義無邊框。

solid:定義實線。

dotted:定義點狀邊框。在大多數浏覽器中呈現為實線。

dashed:定義虛線。在大多數浏覽器中呈現為實線。

inherit:規定應該從父元素繼承邊框樣式。

5、外邊距 margin

html/css——盒模型

與内邊距padding類似,可參照。

二、盒模型的使用總結

A、标簽自帶的盒子模型:

1、 浏覽器預設的margin值為8px!

2、 h1~h6标簽 自帶外邊距

3、 p段落标簽 自帶一個 字型的 外邊距

4、 button input 自帶邊框 内邊距

5、 ul,ol,li dl,dt,dd,自帶 内邊距 外邊距

B、盒子的大小

盒子的大小指的是盒子的寬度和高度。大多數容易将寬度和高度 誤解為width和height屬性,然而預設情況下width和height屬性隻是設定content(内容)部分的寬和高。盒子真正的寬和高按下面公式計算:

盒子的寬度 = 内容寬度 + 左填充 + 右填充 + 左邊框 + 右邊框 + 左邊距 + 右邊距

盒子的寬度 = width + padding-left + padding-right + border-left + border-right + margin-left + margin-right

盒子的高度 = 内容高度 + 上填充 + 下填充 + 上邊框 + 下邊框 + 上邊距 + 下邊距

盒子的高度 = height + padding-top + padding-bottom + border-top + border-bottom + margin-top + margin-bottom

三、盒模型練習

1、編寫一個三角形:

.box{
	width:0px;
	height:0px;
	border:50px solid green;
	border-top-color:transparent;
	border-left-color:transparent;
	border-right-color:transparent;
}
           
html/css——盒模型

2、六邊形相框

<div class="box">
			<div class="box-1"></div>
			<div class="box-2"></div>
			<div class="box-3"></div>
		</div>
           
.box-1,.box-3{
				margin:0 auto;
				width:0;
				height:0;
				border:100px solid white;
				border-top:50px solid yellow;
				border-bottom:50px solid yellow;

			}
			.box-1{
				border-top-color:white;
				border-bottom-color:transparent;
			}
			.box-3{
				border-bottom-color:white;
				border-top-color:transparent;
			}
			.box-2{
				width:200px;
				height:130px;
				background-color:transparent;
				margin:0 auto;
			}
			.box{
				width:200px;
				height:300px;
				background-image:url('img/h.jpg')
			
			}
           
html/css——盒模型

3、心形

<div class="box">
			<div class="box1"></div>
			<div class="box2"></div>
			<div class="box3"></div>
			<div class="box4"></div>
		</div>
           
.box{
				width:400px;
				height:800px;
				margin:0 auto;
			}
			.box1,.box2,.box4 {
				width:0;
				height:0;
			}
			.box1,.box2{
				border:100px solid white;
				border-top:50px solid white;
				border-bottom:50px solid red;
				float:left;
			}
			.box3{
				width:400px;
				height:100px;
				background-color:red;
				float:left;
			}
			.box4{
				border:200px solid white;
				float:left;
				border-top:200px solid red;
			}
           
html/css——盒模型