CSS radial-gradient()

本文详细解析了CSS中radial-gradient属性的使用方法,包括语法、取值、形状、大小及位置设定,通过实例展示了如何创建径向渐变背景。

语法:

<radial-gradient> = radial-gradient([ [ <shape> || <size> ] [ at <position> ]? , | at <position>, ]?<color-stop>[ , <color-stop> ]+)

<position> = [ <length>① | <percentage>① | left | center① | right ]? [ <length>② | <percentage>② | top | center② | bottom ]?

<shape> = circle | ellipse

<size> = <extent-keyword> | [ <circle-size> || <ellipse-size> ]

<extent-keyword> = closest-side | closest-corner | farthest-side | farthest-corner

<circle-size> = <length>

<ellipse-size> = [ <length> | <percentage> ]{2}

<shape-size> = <length> | <percentage>

<color-stop> = <color> [ <length> | <percentage> ]?


取值:

<position> 确定圆心的位置。如果提供2个参数,第一个表示横坐标,第二个表示纵坐标;如果只提供一个,第二值默认为50%,即center

<percentage>①:用百分比指定径向渐变圆心的横坐标值。可以为负值。

<length>①:用长度值指定径向渐变圆心的横坐标值。可以为负值。

left:设置左边为径向渐变圆心的横坐标值。

center①:设置中间为径向渐变圆心的横坐标值。

right:设置右边为径向渐变圆心的横坐标值。

<percentage>②:用百分比指定径向渐变圆心的纵坐标值。可以为负值。

<length>②:用长度值指定径向渐变圆心的纵坐标值。可以为负值。

top:设置顶部为径向渐变圆心的纵坐标值。

center②:设置中间为径向渐变圆心的纵坐标值。

bottom:设置底部为径向渐变圆心的纵坐标值。

<shape> 确定圆的类型

circle:指定圆形的径向渐变

ellipse:指定椭圆形的径向渐变。

<extent-keyword> circle | ellipse 都接受该值作为 size

closest-side:指定径向渐变的半径长度为从圆心到离圆心最近的边

closest-corner:指定径向渐变的半径长度为从圆心到离圆心最近的角

farthest-side:指定径向渐变的半径长度为从圆心到离圆心最远的边

farthest-corner:指定径向渐变的半径长度为从圆心到离圆心最远的角

<circle-size> circle 接受该值作为 size

<length>:用长度值指定正圆径向渐变的半径长度。不允许负值。

<ellipse-size> ellipse 接受该值作为 size

<length>:用长度值指定椭圆径向渐变的横向或纵向半径长度。不允许负值。

<percentage>:用百分比指定椭圆径向渐变的横向或纵向半径长度。不允许负值。

<color-stop> 用于指定渐变的起止颜色:

<color>:指定颜色。

<length>:用长度值指定起止色位置。不允许负值

<percentage>:用百分比指定起止色位置。不允许负值


说明:

用径向渐变创建图像。


兼容性:

  • 浅绿 = 支持
  • 红色 = 不支持
  • 粉色 = 部分支持

 

<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8" />
<title>radial-gradient()_CSS参考手册</title>
<style>
div {
	width: 200px;
	height: 100px;
	margin-top: 10px;
	border: 1px solid #ddd;
}
.test {
	background: radial-gradient(circle at center, #f00, #ff0, #080);
}
.test2 {
	background: radial-gradient(circle closest-side, #f00, #ff0, #080);
}
.test3 {
	background: radial-gradient(farthest-side, #f00 20%, #ff0 50%, #080 80%);
}
.test4 {
	background: radial-gradient(at top right, #f00, #ff0, #080);
}
.test5 {
	background: radial-gradient(farthest-side at top right, #f00, #ff0, #080);
}
.test6 {
	background:
				radial-gradient(farthest-side at top right, #f00, #ff0, #080, transparent),
				radial-gradient(60px at top left, #f00, #ff0, #080);
}
</style>
</head>
<body>
<div class="test"></div>
<div class="test2"></div>
<div class="test3"></div>
<div class="test4"></div>
<div class="test5"></div>
<div class="test6"></div>
</body>
</html>
			
### 使用 `radial-gradient` 创建径向渐变效果 在 CSS 中,`radial-gradient` 函数用于定义一个径向渐变作为元素的背景图像。该函数允许创建从中心向外扩散的颜色过渡效果。 #### 基本语法结构 径向渐变的基本语法如下: ```css background-image: radial-gradient(shape size at position, color-stop1, color-stop2, ...); ``` - **shape**: 定义形状,默认为椭圆形 (`ellipse`);可以设置为圆形 (`circle`)。 - **size**: 控制渐变区域大小,支持关键字如 `closest-side`, `farthest-side` 或者具体尺寸值。 - **position**: 渐变起点位置,默认为中心点(`center`),可以通过坐标调整。 - **color-stops**: 颜色停止点列表,至少两个颜色来构成完整的渐变序列[^4]。 #### 示例说明 为了更好地理解如何应用这些参数,这里给出几个具体的例子: ##### 单一简单径向渐变 ```css .radial-simple { width: 200px; height: 200px; background: radial-gradient(circle, red, yellow); } ``` 这段代码设置了宽度和高度均为200像素的一个正方形盒子,并为其指定了由红色到黄色变化的圆形径向渐变背景[^3]。 ##### 复杂多层径向渐变 当希望在一个区域内展示更复杂的视觉效果时,可以在同一个元素上堆叠多个径向渐变。例如: ```css .radial-complex { width: 200px; height: 200px; background: radial-gradient(50px 100px ellipse, transparent 40px, yellow 41px, red 49px, transparent 50px), radial-gradient(30px circle, red, red 29px, transparent 30px); } ``` 此样式规则展示了通过叠加不同参数配置下的两个径向渐变实现了更加丰富的图案设计[^1]。 #### 自定义形状与方向 除了默认选项外,还可以自定义渐变的具体形态及其起始方位。比如想要创建一个位于左上方的小型椭圆渐变,则应这样写: ```css .custom-radial { width: 200px; height: 200px; background: radial-gradient(at top left, blue, green); } ``` 上述实例中,“at top left”明确了渐变是从容器的左上角开始计算的位置偏移量。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_格鲁特宝宝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值