若是想讓一個區域具備純色的背景,可使用background-color
進行設置,背景顏色能夠是rgb
,rgba
,#16
網頁色。html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> span{ color: white; } </style> <title>Document</title> </head> <body> <span>來看看個人背景色吧!</span> </body> </html>
若是想加入背景圖片,請使用background-image:url();
進行設置。ide
請注意:背景圖片默認不會改變本來盒子的大小。與在盒子中插入<img>
是不一樣的。url
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> div{ background-image: url("./33.jpg"); color: green; font-weight: 700; height: 200px; width: 200px; text-align: center; line-height: 200px; border: solid 1px red; padding: 20px; } </style> <title>Document</title> </head> <body> <div>來看看個人背景圖片吧~</div> </body> </html>
咱們能夠將背景設置爲盒子的某一區域,好比content
區域或者padding
區域以及border
區域。spa
請使用background-clip
來進行指定。3d
選項 | 說明 |
---|---|
border-box | 包括邊框 |
padding-box | 不含邊框,包括內邊距 |
content-box | 內容區域 |
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> div{ background-image: url("./33.jpg"); color: green; font-weight: 700; height: 200px; width: 200px; text-align: center; line-height: 200px; border: solid 1px red; padding: 20px; /* 背景圖片爲content區域 */ background-clip: content-box; } </style> <title>Document</title> </head> <body> <div>來看看個人背景圖片吧~</div> </body> </html>
若是背景圖過小,那麼默認會進行重複行爲,以下所示。可是咱們可使用background-repeat
爲它指定如何重複。code
選項 | 說明 |
---|---|
repeat | 水平、垂直重複 |
repeat-x | 水平重複 |
repeat-y | 垂直重複 |
no-repeat | 不重複 |
space | 背景圖片對稱均勻分佈 |
不指定,默認repea
:htm
指定爲no-repeat
:blog
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> div{ background-image: url("./33.jpg"); color: green; font-weight: 700; height: 500px; width: 500px; text-align: center; line-height: 200px; border: solid 1px red; /* 不重複產生圖片 */ background-repeat: no-repeat; } </style> <title>Document</title> </head> <body> <div></div> </body> </html>
咱們可使用background-attachment
爲背景指定究竟是跟隨滾動條滾動仍是在一個固定的位置不滾動。默認是scroll
,即跟隨滾動條滾動的。圖片
選項 | 說明 |
---|---|
scroll | 背景滾動 |
fixed | 背景固定 |
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> main{ /* 主容器要小於子容器纔會出現滾動條 */ overflow: auto; border: solid 1px red; height: 200px; width: 400px; } div{ background-image: url("./33.jpg"); height: 300px; width: 300px; /* 不重複產生圖片 */ background-repeat: no-repeat; /* 子容器背景圖固定 */ background-attachment: fixed; } </style> <title>Document</title> </head> <body> <main> <div>文本在此</div> </main> </body> </html>
咱們可使用background-position
設置背景圖片的水平、垂直定位。ip
選項 | 說明 |
---|---|
left | 左對齊 |
right | 右對齊 |
center | 居中對齊 |
top | 頂端對齊 |
bottom | 底部對齊 |
只設置center
爲水平,垂直居中。
設置left center
則爲水平居左,垂直居中。
設置right center
則爲水平居右,垂直居中。
設置center left
則爲水平居中,垂直居左。
設置center right
則爲水平居中,垂直居右。
固然,咱們也可使用%
來爲它進行設置,%50
爲居中。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> div{ background-image: url("./33.jpg"); height: 500px; width: 500px; border: solid 1px red; /* 不重複產生圖片 */ background-repeat: no-repeat; /* 水平居左,垂直居中 */ background-position:0% 50%; } </style> <title>Document</title> </head> <body> <div></div> </body> </html>
咱們可使用background-size
來設置背景尺寸,單位能夠是單詞,%
,px
,em
以及rem
。
當使用單詞設置的時候一個詞就能夠搞定,而其餘設置時須要兩個單位,第一個爲背景高度,第二個爲背景寬度。
選項 | 說明 |
---|---|
cover | 背景徹底覆蓋,可能會有背景溢出 |
contain | 圖片不溢出的放在容器中,可能會漏出部分區域 |
指定數值定義寬高尺寸
background-size: 50% 100%;
或
background-size: 200px 200px;
寬度固定高度自動(這個經常使用)
background-size: 50% auto;
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> div{ background-image: url("./33.jpg"); height: 200px; width: 200px; border: solid 1px red; background-repeat: no-repeat; /* 水平居左,垂直居中 */ background-position:0% 50%; /* 背景自動鋪滿整個盒子 */ background-size:cover; } </style> <title>Document</title> </head> <body> <div></div> </body> </html>
咱們能夠直接使用background
來進行簡寫。
推薦順序:顏色,地址,是否重複,背景裁剪,背景尺寸或是否跟隨滾動
如:
background:red url(./33.jpg) no-repeat border-box center;
咱們可使用background-image: url(路徑), url(路徑);
來一次指定多個背景。
就如同上面同樣,咱們一次給他定義了2個背景一個紅色,一個圖片。
咱們可使用 box-shadow
對盒子元素設置陰影,參數爲 水平偏移,垂直偏移,模糊度,顏色
構成。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> div{ height: 100px; width: 100px; border: solid 1px #ddd; box-shadow: 10px 10px 5px rgba(100, 100, 100, .5); } </style> <title>Document</title> </head> <body> <div></div> </body> </html>
漸變通常都是在背景顏色中進行使用,格式爲background: linear-gradient(方向, 顏色, 顏色, ...);
。
/* 紅色到綠色,能夠看到是線性的漸變 */
background: linear-gradient(red, green);
使用度數deg
能夠改變漸變角度,若是爲負數則表明相反方向。
/* 傾斜30°,紅色到綠色 */
background: linear-gradient(30deg, red, green);
咱們可使用to 方向1 方向2
指定漸變的方向,注意:不能用度數deg
同時使用
/* 向右漸變 ,紅色到綠色 */
background: linear-gradient(to right, red, green)
/* 向左漸變 ,紅色到綠色 */
background: linear-gradient(to left, red, green)
/* 向左上漸變 ,紅色到綠色 */
background: linear-gradient(to left top, red, green)
/* 向右下漸變 ,紅色到綠色 */
background: linear-gradient(to right bottom, red, green)
同時,咱們能夠設置多顏色漸變。
/* 向右漸變 ,紅色到綠色到藍色到黃色 */
background: linear-gradient(to right, red, green, blue, yellow)
格式爲background: radial-gradient(方向, 寬度, 顏色, 顏色, ...);
。
/* 紅色到綠色,能夠看到是徑向的漸變 */
background: radial-gradient(red, green);
咱們能夠設置漸變色的寬度。
/* 紅色到綠色,設置寬度 */
background: radial-gradient(50px 50px,red, green);
咱們可使用at 方向1 方向2
來進行漸變方向控制。
/* 紅色到綠色,漸變方向爲右上,因爲設置了寬度,效果並不美觀。*/
background: radial-gradient(at right top ,red 200px, green 20px);
/* 紅色到綠色,漸變方向爲左下,因爲設置了寬度,效果並不美觀。*/
background: radial-gradient(at left bottom ,red 200px, green 20px);
/* 紅色到綠色,漸變方向爲左側向中心,因爲設置了寬度,效果並不美觀。*/
background: radial-gradient(at left center ,red 200px, green 20px);
/* 紅色到綠色,漸變方向爲底部向中心,因爲未設置寬度,效果好一些了*/
background: radial-gradient(at bottom center ,red, green);
}
咱們依然能夠設置不少顏色來進行漸變。
/* 紅色到綠色到藍色到黃色,漸變方向爲底部向中心,因爲未設置寬度,效果好一些了*/
background: radial-gradient(at bottom center ,red, green ,blue ,yellow);
}
當未指定標識位時,顏色的漸變很均勻。一旦指定了標識位,就會發生突變。
未設置標識位:
單方設置了標識位:
background: linear-gradient(90deg, red 60%, blue);
雙方設置了標識位:
background: linear-gradient(90deg, red 60%, blue 40%);
使用徑向標識位繪製太陽
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> div{ height: 300px; width: 300px; border: solid 1px #ddd; background: radial-gradient(red 10%,yellow 30%,black 70%) } </style> <title>Document</title> </head> <body> <div></div> </body> </html>
所謂中間點閾值,指的就是兩個顏色漸變的時候,從哪一個點開始讓一個顏色漸變到另外一個顏色。
好比這個示例,紅色標識位爲60%
,藍色標識位爲40%
,漸變的中間點閾值就只能變成0了。
再好比這個示例,單方設置了標識位,那麼它的閾值就是由系統產生的,因此咱們才能看見它漸變的效果。
怎麼設置中間點閾值呢?看下面這段代碼。
/* 0%就是中間點閾值,當設置爲0後那麼紅色變藍色會由0%的位置開始 */
background: linear-gradient(90deg, red ,0%, blue);
/* 咱們的中間點閾值是20%,先是紅色佔了10%,那麼可觀測範圍中中間點閾值也就只有10%了,因此上圖的漸變區域爲10% */
background: linear-gradient(90deg, red 10% ,20%, blue 80%);
要想使用線性漸變重複,請使用repeating-linear-gradient
。
/* 一個格子爲 75px */
background: repeating-linear-gradient(90deg, blue, 25px, red 50px);
若是咱們想要生硬的顏色,咱們還須要再隨便加一個顏色充當過渡。
background: repeating-linear-gradient(90deg, blue, 25px, yellow 25px, 25px, red 50px);
要想使用線性漸變重複,請使用repeating-radial-gradient
。
background: repeating-radial-gradient(20px 20px, red 0%, yellow 20%, blue 30%, green 50%);