1. 程式人生 > >CSS3的漸變

CSS3的漸變

1、線性漸變(Linear Gradients)

線性漸變可以沿著一跟軸線改變顏色,用法如下:

<!DOCTYPE html>
<html>
<head>
	<title>Test</title>
	<meta charset="utf-8">
	<style type="text/css">
		div{
			width: 500px;
			height: 400px;
			background: linear-gradient(red, yellow);
			margin: 0 auto;
		}
	</style>
</head>
<body>
	<div></div>
</body>
</html>

結果如下:

程式碼結果

在這個例子中,我做了一個由紅到黃的漸變,可以看到在不指定漸變方向的情況下,預設漸變方向是從上到下。

在linear-gradient方法內新增to left,就可以把方向改為從右往左
在這裡插入圖片描述

同樣的,將to left 改為to left bottom就可以把漸變方向改為從右上到左下。

***

除了指明方向外,還可以設定角度,將to left bottom 改為90deg,效果如下:

在這裡插入圖片描述

可以看到漸變方向變為了由左向右,角度的計算是逆時針計算。

除了改變漸變角度,還可以改變漸變的顏色區域,舉個例子:

<!DOCTYPE html>
<html>
<head>
	<title>Test</title>
	<meta charset="utf-8">
	<style type="text/css">
		div{
			width: 500px;
			height: 400px;
			background: linear-gradient(90deg, red 50%, yellow 90%);
			margin: 0 auto;
		}
	</style>
</head>
<body>
	<div></div>
</body>
</html>

效果如下:

在這裡插入圖片描述

可以看到紅色的範圍明顯變大,為了達到這個效果我們在red和yellow後面分別添加了“50%”和“90%”,意思是,從漸變軸線的0到50%的長度上為紅色,從50%到90%的長度上為紅黃過渡,90%之後為黃色。若是我們將兩個數值改為同一個值,那麼漸變效果將消失。效果如下:

在這裡插入圖片描述

2、徑向漸變(Radial Gradients)

由內向外沿著徑向圓形(正圓/橢圓)漸變。用法基本與線性漸變一致。舉個例子:

<!DOCTYPE html>
<html>
<head>
	<title>Test</title>
	<meta charset="utf-8">
	<style type="text/css">
		div{
			width: 500px;
			height: 400px;
			background: radial-gradient(red, yellow);
			margin: 0 auto;
		}
	</style>
</head>
<body>
	<div></div>
</body>
</html>

效果如下:

在這裡插入圖片描述
預設狀態下是橢圓漸變,如想圓形漸變則可以在red前新增“circle”,效果如下:

在這裡插入圖片描述

除此之外我們還可以指定範圍的參照,舉個例子:

<!DOCTYPE html>
<html>
<head>
	<title>Test</title>
	<meta charset="utf-8">
	<style type="text/css">
		div{
			display: inline-block;
			width: 300px;
			height: 100px;
			margin: 0 auto;
		}
		.one{
			background: radial-gradient(closest-side circle, red, yellow);
		}
		.two{
			background: radial-gradient(closest-corner circle, red, yellow);
		}
		.three{
			background: radial-gradient(farthest-side circle, red, yellow);
		}
		.four{
			background: radial-gradient(farthest-corner circle, red, yellow);
		}
	</style>
</head>
<body>
	<div class="one"></div>
	<div class="two"></div>
	<div class="three"></div>
	<div class="four"></div>
</body>
</html>

效果如下:
在這裡插入圖片描述