4.盒模型
基本概念
盒模型的組成大家肯定都懂,由裏向外content,padding,border,margin.
盒模型是有兩種標準的,一個是標準模型,一個是IE模型。
盒模型的屬性
- width:內容的寬度
- height: 內容的高度
- padding:內邊距,邊框到內容的距離
- border: 邊框,就是指的盒子的寬度
- margin:外邊距,盒子邊框到附近最近盒子的距離
盒模型的計算
如果一個盒子設置了padding,border,width,height,margin(咱們先不要設置margin,margin有坑,後面課程會講解)
盒子的真實寬度=width+2*padding+2*border
盒子的真實寬度=height+2*padding+2*border
那麽在這裏要註意看了。標準盒模型,width不等於盒子真實的寬度。
另外如果要保持盒子真實的寬度,那麽加padding就一定要減width,減padding就一定要加width。真實高度一樣設置。
padding
padding:就是內邊距的意思,它是邊框到內容之間的距離
另外padding的區域是有背景顏色的。並且背景顏色和內容的顏色一樣。也就是說background-color這個屬性將填充所有的border以內的區域
padding的設置
padding有四個方向,分別描述4個方向的padding。
描述的方法有兩種
1、寫小屬性,分別設置不同方向的padding
padding-top: 30px;
padding-right: 30px;
padding-bottom: 30px;
padding-left: 30px;
2、寫綜合屬性,用空格隔開
/*上 右 下 左*/
padding: 20px 30px 40px 50px ;
/*上 左右 下*/
padding: 20px 30px 40px;
/*上下 左右*/
padding: 20px 30px;
/*上下左右*/
padding: 20px;
一些標簽默認有padding
比如ul標簽,有默認的padding-left值。
那麽我們一般在做站的時候,是要清除頁面標簽中默認的padding和margin。以便於我們更好的去調整元素的位置。
我們現在初學可以使用通配符選擇器
*{
padding:0;
margin:0;
}
But,這種方法效率不高。
所以我們要使用並集選擇器來選中頁面中應有的標簽(不同背,因為有人已經給咱們寫好了這些清除默認的樣式表,reset.css)
https://meyerweb.com/eric/tools/css/reset/
border 邊框
border:邊框的意思,描述盒子的邊框
邊框有三個要素: 粗細 線性樣式 顏色
border: solid
如果顏色不寫,默認是黑色。如果粗細不寫,不顯示邊框。如果只寫線性樣式,默認的有上下左右 3px的寬度,實體樣式,並且黑色的邊框。
按照方向劃分
border-top-width: 10px;
border-top-color: red;
border-top-style: solid;
border-right-width: 10px;
border-right-color: red;
border-right-style: solid;
border-bottom-width: 10px;
border-bottom-color: red;
border-bottom-style: solid;
border-left-width: 10px;
border-left-color: red;
border-left-style:solid;
上面12條語句,相當於 bordr: 10px solid red;
另外還可以這樣:
border-top: 10px solid red;
border-right: 10px solid red;
border-bottom: 10px solid red;
border-left: 10px solid red;
清除邊框的默認樣式,比如input輸入框
border:none; border:0;
margin
margin:外邊距的意思。表示邊框到最近盒子的距離。(兄弟之間)
/*表示四個方向的外邊距離為20px*/
margin: 20px;
/*表示盒子向下移動了30px*/
margin-top: 30px;
/*表示盒子向右移動了50px*/
margin-left: 50px;
margin-bottom: 100px;
4.盒模型