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

4.盒模型

wid ref pan adding image 內容 語句 初學 寬度

基本概念

盒模型的組成大家肯定都懂,由裏向外content,padding,border,margin.

盒模型是有兩種標準的,一個是標準模型,一個是IE模型。

技術分享圖片

技術分享圖片

盒模型的屬性

  1. width:內容的寬度
  2. height: 內容的高度
  3. padding:內邊距,邊框到內容的距離
  4. border: 邊框,就是指的盒子的寬度
  5. 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.盒模型