1. 程式人生 > >盒模型:

盒模型:

盒子模型是針對於HTML的每一個元素的,每一個元素咱們都可以把它叫做盒子,他都符合盒子模型的一個語法特點。

盒子有三大部分

盒子壁 border

內邊距 padding

盒子內容 width+height

 

盒子模型有四部分:margin+border+padding+(content=width+height)

現在來一個盒子:

div{

              height: 100px;

              width: 100px;

              background-color: red;

           }

再加上邊框

div{

              height: 100px;

              width: 100px;

              background-color: red;

              border: 10px solid black;

           }

現在盒子的總寬度就大於100了。

現在再設定內邊距:

div{

              height: 100px;

              width: 100px;

              background-color: red;

              border: 10px solid black;

              padding: 10px;

           }

那,內容放在哪裡?

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<style type="text/css">
			div{
				height: 100px;
				width: 100px;
				background-color: red;
				border: 10px solid black;
				padding: 100px;
			}
		</style>
		<title></title>
	</head>
	<body>
		<div>
			前端前端前端前端前端前端前端
			前端前端前端前端前端前端前端
		</div>
	</body>
</html>

這就是padding的意思。

如果再設定margin,

他的周圍就有空間了。

你在瀏覽器檢查種也可以看,滑鼠移到哪裡,哪裡就變色。

 

現在又兩個套在一起的盒子:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<style type="text/css">
			.demo1{
				width: 100px;
				height: 100px;
				background-color: red;
			}
			.demo2{
				width: 100px;
				height: 100px;
				background-color: black;
			}
		</style>
		<title></title>
	</head>
	<body>
		<div class="demo1">
			<div class="demo2">
				
			</div>
		</div>
	</body>
</html>

 

裡面的盒子作為外面盒子的內容,兩個盒子都是100,所以應該是裡面的應該覆蓋外面的,他倆依然是巢狀關係,之不過一樣大而已。

 

 

現在我在外面demo1盒子上加一個border: 10px solid green;

是不是應該這樣:

我在給外面的盒子加一個padding: 100px;

就變成了這個樣子:裡面的盒子作為內容區,只能再內容區裡出現。

所以你想把兩個盒子,一個盒子居中在一個盒子的裡面,你可以

讓兩個盒子的內容一樣大,在外面的盒子套padding,四周都是一樣的,就居中了。

這個padding有四個值,你寫一個100等於寫四個100,所以我也可以寫四個不同的數字。

padding: 100px 150px 200px 250px;

這四個數字就是順時針的上右下左

那,我要是寫三個數,他代表什麼?

padding: 100px 150px 200px;

肯定有一個值代表兩個方向是吧!

所以是中間的那個值代表左右兩個方向吧,你看到的每一個頁面都是左右都是等距的吧,所以這樣更合理一些!

那,兩個值呢?

第一個是上下,後面的是左右吧!

 

這樣你就可以只設置某一個方向,比如只設置上上padding: 100px 0 0 0 ;

或者是padding-top: 100px;都是一樣的。

 

padding-top: 100px;

              padding-left: 100px;

              padding-right: 100px;

margin: ;也是一樣的,盒模型但凡是設定四個方向的值,都是一樣的。

 

現在咱麼寫一個盒模型,求他有色部分實際的高和寬,

div{

                width: 100px;

                height: 100px;

                background-color: red;

                border: 10px solid black;

                padding: 10px 20px 30px;

                margin: 10px 20px;

            }

算算吧。

Margin看都不看,上面的border加10,padding加10;下面的padding加30,border加10,就是10+10+100+30+10=160吧,寬高都是160px。