CSS基础(part12)--盒子模型之外边距
學(xué)習(xí)筆記,僅供參考,有錯(cuò)必糾
參考自:某不知名網(wǎng)課
文章目錄
- 盒子模型
- 外邊距
- 屬性設(shè)置
- 塊級(jí)盒子水平居中
- 文字居中以及盒子居中
- 插入圖片和背景圖片的區(qū)別
- 清除元素的默認(rèn)內(nèi)外邊距
- 外邊距合并(只存在垂直方向合并)
盒子模型
外邊距
margin屬性用于設(shè)置外邊距, margin就是控制盒子和盒子之間的距離:
屬性設(shè)置
| margin-left | 左外邊距 |
| margin-right | 右外邊距 |
| margin-top | 上外邊距 |
| margin-bottom | 下外邊距 |
margin值的簡寫形式代表意思和padding完全相同。
塊級(jí)盒子水平居中
如果想要讓一個(gè)盒子水平居中,必須指定盒子寬度(width),然后就給左右的外邊距都設(shè)置為auto,比如:
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>CSS盒子</title><style>div {width: 600px;height: 400px;background-color: pink;margin: 0 auto;}</style> </head> <body><div></div> </body> </html>- 讓盒子居中的3種寫法
文字居中以及盒子居中
讓盒子內(nèi)的文字水平居中可以使用 text-align: center, 該css代碼還可以讓行內(nèi)元素和行內(nèi)塊元素居中對(duì)齊,比如:
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>CSS盒子</title><style>div {width: 400px;height: 150px;background-color: pink;margin: 0 auto;text-align: center;}span {color: blue;}input {border: none;border-bottom: 1px dashed red; }</style> </head> <body><div>我是文字<span>我是span標(biāo)簽</span><input type="text"></div> </body> </html>頁面:
插入圖片和背景圖片的區(qū)別
如果我們是以插入的形式展示圖片,那么移動(dòng)位置只能靠調(diào)整盒模型的padding和margin屬性;
如果我們是將圖片作為背景的形式展示,那么只能通過 設(shè)置background-position屬性移動(dòng)圖片位置。
- 舉個(gè)例子(插入圖片)
HTML代碼:
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>CSS盒子</title><style>.demo {width: 500px;height: 300px;border: 2px solid red;}.demo img {width: 100px;height: 100px;margin: 50px;}</style> </head> <body><div class="demo"><img src="image/TX.jpg" alt=""></div> </body> </html>頁面:
- 舉個(gè)例子(背景)
HTML代碼:
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>CSS盒子</title><style>.demo,.back {width: 500px;height: 300px;border: 2px solid red;}.demo img {width: 100px;height: 100px;margin: 50px;}.back {background: url(image/TX.jpg) no-repeat;background-position: 50px 50px;}</style> </head> <body><div class="demo"><img src="image/TX.jpg" alt=""></div><div class="back"></div> </body> </html>頁面:
清除元素的默認(rèn)內(nèi)外邊距
制作網(wǎng)頁時(shí),我們需要將元素的默認(rèn)內(nèi)外邊距清除,css代碼:
* {padding:0; /* 清除內(nèi)邊距 */margin:0; /* 清除外邊距 */ }對(duì)于行內(nèi)元素,為了照顧兼容性,則 盡量只設(shè)置左右內(nèi)外邊距, 不要設(shè)置上下內(nèi)外邊距,例如:
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>CSS盒子</title><style>* {padding:0; /* 清除內(nèi)邊距 */margin:0; /* 清除外邊距 */ }span {margin-left: 30px;/* margin-right: 50px; */background-color: pink;}</style> </head> <body><p>這里是安徽財(cái)經(jīng)大學(xué)</p><span>統(tǒng)計(jì)與應(yīng)用數(shù)學(xué)學(xué)院</span><span>應(yīng)用統(tǒng)計(jì)</span> </body> </html>頁面:
外邊距合并(只存在垂直方向合并)
- 相鄰塊元素垂直外邊距的合并
當(dāng)垂直方向的兩個(gè)塊元素相遇時(shí),如果上面的元素有下外邊距margin-bottom,下面的元素有上外邊距margin-top,則他們之間的垂直間距不是margin-bottom與margin-top之和,而是取兩個(gè)值中的較大者,這種現(xiàn)象被稱為相鄰塊元素垂直外邊距的合并(也稱外邊距塌陷):
- 嵌套塊元素垂直外邊距的合并(塌陷)
對(duì)于兩個(gè)嵌套關(guān)系的塊元素,如果父元素沒有上內(nèi)邊距及邊框,父元素的上外邊距會(huì)與子元素的上外邊距發(fā)生合并,合并后的外邊距為兩者中的較大者:
如果我們不想出現(xiàn)塌陷的情況,可以采用以下3種解決方案:
-
可以為父元素定義上邊框
-
可以為父元素定義上內(nèi)邊距
-
可以為父元素添加overflow:hidden
- 舉個(gè)例子
HTML代碼:
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>CSS盒子</title><style>.father {width: 500px;height: 500px;background-color: pink;overflow: hidden;}.son {width: 200px;height: 200px;background-color: purple;margin-top: 100px;}</style> </head> <body><div class="father"><div class="son"></div></div> </body> </html>頁面:
總結(jié)
以上是生活随笔為你收集整理的CSS基础(part12)--盒子模型之外边距的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TP-Link TL-WDR6320 V
- 下一篇: 植物大战僵尸2攻略大全 植物大战僵尸2存