css 盒模型

盒模型

在CSS中,"box model"這一術語是用來設計和佈局時使用,而後在網頁中基本上都會顯示一些方方正正的盒子。咱們稱爲這種盒子叫盒模型。佈局

盒模型有兩種:標準模型和IE模型。咱們在這裏重點講標準模型。spa

 

盒模型示意圖

 

盒模型的屬性

width:內容的寬度設計

height: 內容的高度code

padding:內邊距,邊框到內容的距離blog

border: 邊框,就是指的盒子的寬度it

margin:外邊距,盒子邊框到附近最近盒子的距離class

 

若是讓你作一個寬高402*402的盒子,您如何來設計呢?效率

答案有上萬種,甚至上一種。model

盒模型的計算

若是一個盒子設置了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。

描述的方法有兩種

一、寫小屬性,分別設置不一樣方向的padding

padding-top: 30px;
padding-right: 30px;
padding-bottom: 30px;
padding-left: 30px;

 

二、寫綜合屬性,用空格隔開

複製代碼
/*上 右 下 左*/
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,這種方法效率不高。

邊框

border:邊框的意思,描述盒子的邊框

邊框有三個要素: 粗細 線性樣式 顏色

border: solid

 

若是顏色不寫,默認是黑色。若是粗細不寫,不顯示邊框。若是隻寫線性樣式,默認的有上下左右 3px的寬度,實體樣式,而且黑色的邊框。

按照3要素來寫border

複製代碼
border-width: 3px;
border-style: solid;
border-color: red;
/*
border-width: 5px 10px;
border-style: solid dotted double dashed;
border-color: red green yellow;
*/
            
複製代碼

 

按照方向劃分

複製代碼
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: 10pxb solid red;

 

 

border:none;

border:0;

表示border沒有設置樣式。

 

使用border來製做小三角

複製代碼
/*小三角 箭頭指向下方*/
        div{
            width: 0;
            height: 0;
            border-bottom: 20px solid red;
            border-left: 20px solid transparent;
            border-right: 20px solid transparent;
        }
複製代碼

 

margin

margin:外邊距的意思。表示邊框到最近盒子的距離。

 

複製代碼
/*表示四個方向的外邊距離爲20px*/
margin: 20px;
/*表示盒子向下移動了30px*/
margin-top: 30px;
/*表示盒子向右移動了50px*/
margin-left: 50px;
margin-bottom: 100px;
複製代碼
相關文章
相關標籤/搜索