CSS
中的盒子呢,CSS
中盒子有什麼組成的呢?有內容、內邊距、邊框、外邊距。CSS
中盒子的主要屬性有5
種如:width
寬度、height
高度、padding
內邊距、border
邊框、margin
外邊距。CSS
中盒子模型實踐,給你們看看咱們CSS
中的盒子長什麼樣。代碼塊css
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> div { /*這裏的寬度指的就是盒子內容的寬度*/ width: 100px; /*這裏的高度值的就是盒子內容的高度*/ height: 100px; /*內邊距就是盒子裏面的內容到邊框的距離*/ padding: 30px; /*這個就是指盒子的外邊框*/ border: 1px solid red; /*這個就是指盒子的外邊距,盒子與盒子之間的距離*/ margin: 20px; } </style> </head> <body> <div> 微笑是最初的信仰,微笑是最初的信仰,微笑是最初的信仰。 </div> </body> </html>
結果圖html
一個盒子的總寬度
=盒子內容寬度
+左右2邊內邊距
+左右2邊邊框線
。注意:一個盒子的高度通常狀況下不設置高度,由於一個盒子的高度它應該是由其內容來決定的。ui
padding
內邊距的意思就是指的盒子中間的內容與邊框的這段距離。padding
內邊距分爲4
個方向,因此咱們可以設置或描述這4
個方向的內邊距。padding
內邊距屬性值說明表:屬性值 | 描述 |
---|---|
padding-top | 設置向上的內邊距的距離。 |
padding-bottom | 設置向下的內邊的距距離。 |
padding-left | 設置向左的內邊距的距離。 |
padding-right | 設置向右的內邊距的距離。 |
padding | 設置上下左右內邊距的距離,是上面的屬性值縮寫。 |
div
標籤設置內邊距,實踐內容如:將div
標籤上
邊內邊距設置爲20px
、下
邊內邊距設置爲30px
、左
邊邊距設置爲40px
、右
邊內邊距設置爲50px
。代碼塊spa
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> div { /*這裏的寬度指的就是盒子內容的寬度*/ width: 100px; /*這裏的高度值的就是盒子內容的高度*/ height: 100px; border: 1px solid red; padding-top: 20px; padding-bottom: 30px; padding-left: 40px; padding-right: 50px; } </style> </head> <body> <div> 微笑是最初的信仰,微笑是最初的信仰,微笑是最初的信仰。 </div> </body> </html>
結果圖code
padding
屬性的方向是有順序的,順序規則如:上
、右
、下
、左
。padding
屬性值有4
個,接下來咱們就一一試試看看會有什麼效果呢。padding
屬性設置1
個值實踐。代碼塊htm
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> div { /*這裏的寬度指的就是盒子內容的寬度*/ width: 100px; /*這裏的高度值的就是盒子內容的高度*/ height: 100px; border: 1px solid red; padding: 20px; } </style> </head> <body> <div> 微笑是最初的信仰,微笑是最初的信仰,微笑是最初的信仰。 </div> </body> </html>
結果圖blog
注意:假設咱們給
padding
屬性值設置了1
個值爲:padding: 20px;
表示上
、右
、下
、左
、方向的內邊距都爲20px
像素。文檔
padding
屬性設置2
個值實踐。代碼塊get
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> div { /*這裏的寬度指的就是盒子內容的寬度*/ width: 100px; /*這裏的高度值的就是盒子內容的高度*/ height: 100px; border: 1px solid red; padding: 20px 30px; } </style> </head> <body> <div> 微笑是最初的信仰,微笑是最初的信仰,微笑是最初的信仰。 </div> </body> </html>
結果圖it
注意:假設咱們給
padding
屬性值設置了2
個值如:padding: 20px 30px;
表示內邊距的(上、下)
爲20px
像素、(左、右)
爲30px
像素。
padding
屬性設置3
個值實踐。代碼塊
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> div { /*這裏的寬度指的就是盒子內容的寬度*/ width: 100px; /*這裏的高度值的就是盒子內容的高度*/ height: 100px; border: 1px solid red; padding: 20px 30px 40px; } </style> </head> <body> <div> 微笑是最初的信仰,微笑是最初的信仰,微笑是最初的信仰。 </div> </body> </html>
結果圖
注意:假設咱們給
padding
屬性值設置了3
個值如:padding: 20px 30px 40px;
表示內邊距的上
爲20px
像素、(左、右
)爲30px
像素、下
爲40px
像素。
padding
屬性設置4
個值實踐。代碼塊
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> div { /*這裏的寬度指的就是盒子內容的寬度*/ width: 100px; /*這裏的高度值的就是盒子內容的高度*/ height: 100px; border: 1px solid red; padding: 20px 30px 40px 50px; } </style> </head> <body> <div> 微笑是最初的信仰,微笑是最初的信仰,微笑是最初的信仰。 </div> </body> </html>
結果圖
注意:假設咱們給
padding
屬性值設置了3
個值如padding: 20px 30px 40px 50px;
表示內邊距的上
爲20px
像素、右
爲30px
像素、下
爲40px
像素、左
爲50px
像素。
margin
外邊距的意思就是指的盒子與盒子之間的距離。margin
外邊距分爲4
個方向,因此咱們可以設置或描述這4
個方向的外邊距。margin
外邊距屬性值說明表:屬性值 | 描述 |
---|---|
margin-top | 設置向上的外邊距的距離。 |
margin-bottom | 設置向下的外邊的距距離。 |
margin-left | 設置向左的外邊距的距離。 |
margin-right | 設置向右的外邊距的距離。 |
margin | 設置上下左右外邊距的距離,是上面的屬性值縮寫。 |
auto | 自動。 |
class
屬性值爲.top
元素設置上外邊距爲20px
像素而且將class
屬性值爲.bottom
設置下外邊距爲20px
像素。代碼塊
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> .bottom{ width: 100px; height: 100px; background-color: red; margin-bottom: 20px; } .top{ width: 100px; height: 100px; background-color: slateblue; margin-top: 20px; } </style> </head> <body> <div class="bottom"></div> <div class="top"></div> </body> </html>
calss
屬性值爲.bottom
結果圖
calss
屬性值爲.top
結果圖
注意:兩張圖有什麼區別呢,事實證實外邊距豎直方向的
margin
的屬性值不會疊加,它會取最大的屬性值,你們要明白哦。
class
屬性值爲.right
元素設置右外邊距爲20px
像素而且將class
屬性值爲.left
設置左外邊距爲20px
像素。代碼塊
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> .left{ background-color: slateblue; margin-left: 20px; } .right{ background-color: red; margin-right: 20px; } </style> </head> <body> <span class="right">right</span> <span class="left">left</span> </body> </html>
calss
屬性值爲.right
結果圖
calss
屬性值爲.left
結果圖
注意:兩張圖有什麼區別呢,事實證實外邊距水平線方向
margin
的屬性值會疊加。你們要明白哦。
若想讓豎直方向的margin
屬性值疊加外邊距的距離咱也是有辦法如:將要設置margin
屬性的元素進行浮動便可,元素浮動以後它的margin
屬性值就會疊加,如有讀者朋友不熟悉浮動的能夠看看筆者之間發佈的CSS中若是實現元素浮動和清除浮動,看這篇文章就足夠了文章。
代碼塊
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> .box{ width: 110px; border: 2px solid red; overflow: hidden; } .bottom{ width: 100px; height: 100px; background-color: slateblue; float: left; margin-bottom: 20px; } .top{ width: 100px; height: 100px; background-color: darkblue; float: left; margin-top: 20px; } </style> </head> <body> <div class="box"> <div class="bottom"></div> <div class="top"></div> </div> </body> </html>
calss
屬性值爲.bottom
結果圖
calss
屬性值爲.top
結果圖
margin
屬性的方向是有順序的,順序規則如:上
、右
、下
、左
。margin
屬性值有4
個,接下來咱們就一一試試看看會有什麼效果呢。margin
屬性設置1
個值實踐。代碼塊
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> .box { /*這裏的寬度指的就是盒子內容的寬度*/ width: 100px; /*這裏的高度值的就是盒子內容的高度*/ height: 100px; background-color: red; margin: 20px; } </style> </head> <body> <div class="box"></div> </body> </html>
結果圖
注意:假設咱們給
margin
屬性值設置了1
個值爲:margin: 20px;
表示上
、右
、下
、左
、方向的外邊距都爲20px
像素。
margin
屬性設置2
個值實踐。代碼塊
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> .box { /*這裏的寬度指的就是盒子內容的寬度*/ width: 100px; /*這裏的高度值的就是盒子內容的高度*/ height: 100px; background-color: red; margin: 20px 30px; } </style> </head> <body> <div class="box"></div> </body> </html>
結果圖
注意:假設咱們
margin
屬性值設置了2
個值如:margin: 20px 30px;
表示外邊距的(上、下)
爲20px
像素、(左、右)
爲30px
像素。
margin
屬性設置3
個值實踐。代碼塊
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> .box { /*這裏的寬度指的就是盒子內容的寬度*/ width: 100px; /*這裏的高度值的就是盒子內容的高度*/ height: 100px; background-color: red; margin: 20px 30px 40px; } </style> </head> <body> <div class="box"></div> </body> </html>
結果圖
注意:假設咱們給
margin
屬性值設置了3
個值如:margin: 20px 30px 40px;
表示外邊距的上
爲20px
像素、(左、右
)爲30px
像素、下
爲40px
像素。
margin
屬性設置4
個值實踐。代碼塊
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> .box { /*這裏的寬度指的就是盒子內容的寬度*/ width: 100px; /*這裏的高度值的就是盒子內容的高度*/ height: 100px; background-color: red; margin: 20px 30px 40px 50px; } </style> </head> <body> <div class="box"></div> </body> </html>
結果圖
注意:假設咱們給
margin
屬性值設置了4
個值如margin: 20px 30px 40px 50px;
表示外邊距的上
爲20px
像素、右
爲30px
像素、下
爲40px
像素、左
爲50px
像素。
margin
屬性值設置爲auto
,auto
表示自動的意思,當左外邊距與右外邊距的值都是auto
時那麼這個盒子就會水平居中。margin
屬性設置水平居中注意事項如:margin
屬性來實現水平居中。margin
屬性是用來實現盒子的水平居中,而不是文本的水平居中。margin
屬性值爲auto
實現盒子水平線左居中的實踐。代碼塊
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> .box{ width: 100px; height: 100px; background-color: red; margin-left:auto; } </style> </head> <body> <div class="box"> </div> </body> </html>
結果圖
margin
屬性值爲auto
實現盒子水平線居中的實踐。代碼塊
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> .box{ width: 100px; height: 100px; background-color: red; margin-left:auto; margin-right: auto; } </style> </head> <body> <div class="box"> </div> </body> </html>
結果圖
注意:
margin
屬性值爲auto
設置上下
外邊距不起任何做用。
代碼塊
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> .box{ width: 100px; height: 100px; background-color: red; margin-bottom:auto; margin-top: auto; } </style> </head> <body> <div class="box"> </div> </body> </html>
結果圖
代碼塊
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> .box{ height: 100px; background-color: red; margin-left: auto; margin-right: auto; } </style> </head> <body> <div class="box"> </div> </body> </html>
結果圖
注意:若是該元素沒有設置固定的寬度,那麼該元素會佔據其父元素的
100%
寬度,因此不可以實現水平線居中。
用實踐來證實爲何:只有塊級元素才能夠實現水平居中,行內元素不可以實現水平居中。
代碼塊
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> .box{ width: 100px; height: 100px; background-color: red; margin-left: auto; margin-right: auto; } </style> </head> <body> <span class="box">微笑是最初的信仰 </span> </body> </html>
結果圖
注意:由於行內元素不能設置寬度,因此沒法實現水平線居中。
用實踐來證實爲何:只有標準文檔流中的盒子纔可使用margin
屬性來實現水平居中。
代碼塊
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> .box{ width: 100px; height: 100px; background-color: red; margin-left: auto; margin-right: auto; float: left; } </style> </head> <body> <div class="box"> </div> </body> </html>
結果圖
注意:筆者給
class
屬性值爲.box
設置了一個float: left;
左浮動,浮動的元素已經脫離了標準文檔流,因此沒法實現水平線居中。
用實踐來證實爲何:margin
屬性是用來實現盒子的水平線居中,而不是盒子的內容文本水平線居中。
代碼塊
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> .box{ width: 200px; height: 100px; background-color: red; margin-left: auto; margin-right: auto; } </style> </head> <body> <div class="box"> 微笑是最初的信仰 </div> </body> </html>
結果圖
text-align
屬性而且屬性值爲center
才能夠實現文本水平線居中。代碼塊
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>盒子模型</title> <style> .box{ width: 200px; height: 100px; background-color: red; margin-left: auto; margin-right: auto; text-align: center; } </style> </head> <body> <div class="box"> 微笑是最初的信仰 </div> </body> </html>
結果圖