CSS盒模型

來源:互聯網
上載者:User

標籤:單位   url   ges   str   height   無法   覆蓋   tom   結構   

一、【margin:外邊距】
  1.唯寫一個值,表示四周的外邊距均為指定值
  2.寫兩個值,第一個數為上下外邊距,第二個值為左右外邊距
  3.寫三個值,分別表示上,右,下三個方向,左邊預設等於右邊
  4.寫四個值,表示上,右,下,左

  也通過使用下面四個單獨的屬性,分別設定上、右、下、左外邊距:
  margin-top
  margin-right
  margin-bottom
  margin-left
  5.margin: 0 auto;設定區塊層級元素在父級容器中水平置中
  
 二、【padding:內邊距】
  設定方式與margin完全相同
  也通過使用下面四個單獨的屬性,分別設定上、右、下、左內邊距:
  padding-top
  padding-right
  padding-bottom
  padding-left
  注意:設定padding,會將導致div撐大,使用必須注意div實際寬高為多少;

【舉個栗子】


  

#box {  width: 70px;  margin: 10px;  padding: 5px;}


三、【盒子模型分類】
1、標準盒子模型(W3C盒子):我們在設定的寬度高度僅僅包含content部分。
   再添加padding或border。會導致盒子變大;
2、IE盒子模型(怪異盒子):我們設定的寬度和高度,包含content+padding+border;
   再添加padding或border,會壓縮content地區,但盒子總大小不變;

   [手動設定盒子類型]
      box-sizing: border-box; 怪異盒子;
      box-sizing: content-box; 標準盒子;  預設效果。


 四、【邊框】
    1.設定邊框需要三個屬性,寬度,樣式,顏色
    2.原則上三個屬性缺一不可,順序可以隨便修改;
    3.可以使用top,right,bottom,left分別設定四個邊
    .border:5px   soild   blue;
 4、定義單邊樣式
    為元素框的某一個邊設定邊框樣式,而不是設定所有 4 個邊的邊框樣式,可以使用下面的單邊邊框樣式屬性:
    border-top-style
    border-right-style
    border-bottom-style
    border-left-style

 【舉個栗子】

.div-1{
width: 200px;
height: 200px;
   overflow:hidden;
border: 5px solid red;
}
.div-2{
width: 100px;
height: 100px;
position: relative;
left: 50%;
margin-left: -55px;
top:50%;
margin-top: -50px;
border: 5px dotted green;
}


  當父盒子包裹子盒子,給盒子添加margin-top時,子盒子與父盒子的上邊線不能分開,而是導致,兩個盒子同時下來。
 【解決辦法】
  1、給父盒子添加一點padding-top;不推薦使用,會導致父盒子結構多餘1px padding。
  2、 給父盒子添加1px的border-top;同樣導致1px的多餘空間,不推薦使用。
  3、給父盒子或子盒子添加浮動;
  4、給父盒子添加overflow屬性;推薦使用的方法。
   
 五、【border-radius圓角】
  1.border-radius:可以接受8個屬性值:
  X軸:左上  右上  右下  左下/Y軸:左上  右上  右下  左下
  2.縮寫形式:
  唯寫X軸,Y軸將預設等於X軸;
  四個角寫不全,預設對角相等;
  唯寫一個值,預設8個數均等;
  例如:border-radius:50px 20px;
  =border-radius:50px 20px 50px 20px;
  =border-radius:50px 20px 50px 20px/50px 20px 50px 20px;
  3.當圓角弧度>=正方形邊長一半,將會顯示為圓形.
  【舉個例子】

.div-1{
width: 200px;
height: 200px;
background-color: yellow;
border-radius:50px 20px 50px 20px;
}
.div-1{
width: 150px;
height:150px;
border-radius: 50%;
overflow: hidden;
}
.div-2{
width: 100px;
height:100px;
border-radius: 50%;
margin:25px auto;
}

  六、【border-image:圖片邊框】
  1.border-image:一共可以放10個屬性值:
  a.圖片路徑:url();
  b.圖片的切片寬度:4個值,分別代表:上,右,下,左四條邊;
  通過四條切線切割,可以將圖片分為9宮格.9宮格四個角分別對應邊框的四個角(不會進行任何展開),9宮格
  四個邊分別對應四條邊框(會根據設定進行展開/鋪完/重複等操作)
  注意:寫的時候,必須不能帶px單位。
  
  c.邊框的寬度:4個值,分別代表上,右,下,左 四條邊框的寬度;
  注意:寫的時候,必須帶px單位,與切片寬度用/分隔.;
  d.邊框的重複方式:strtch(展開),round(鋪滿),repeat(重複)

【舉個例子】
.image{
width:200px;
height: 200px;
background-size: 200px 200px;
background-color: darkslategray;
border-image: url(images/ima.png) 27/27px stretch;
-webkit-border-image:url(images/ima.png) 27/27px repeat;
}

  
  七、【round和repeat區別】
  1.round會對四條邊進行適當的展開壓縮,確保四條邊可以重複整數.
    repeat會保持每條邊的長度寬度不變,可能導致四角處,無法顯示一條完整的邊。
  2.屬性值的寫法:border-image:a b/cpx d;
  3.border-image:在webkit核心的瀏覽器中,必須帶-webkit首碼.*/
  
 八、【box-shadow:盒子陰影】
  1.6個屬性值,空格分隔:
  X軸陰影距離(必選):可正可負,正一右移,負一左移;
  Y軸陰影距離(必選):可正可負,正一下移,負一上移;
  陰影模糊半徑(可選):只能為正,預設0,數值越大,陰影越模糊;
  陰影擴充半徑(可選):可正可負,預設0,數值增大,陰影增大,反之亦然.
  陰影顏色(可選):預設黑色;
  內外陰影(可選):預設外陰影,inset表示內陰影。
  
【舉個例子】
.shadow{
width:200px;
height: 200px;
background-color: darkslategray;
box-shadow: 10px 10px 10px 5px black;
}

  九、【outline:外圍線】
  顯示在border外邊,並不會佔據空間。可能會覆蓋四周的內容。
  例如:outline:20px solid red;
【舉個例子】
.div-1{
width: 200px;
height: 200px;
background-color: yellow;
outline: 10px solid red;

}
 

CSS盒模型

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.