CSS-径向渐变【看这一篇就够了!!!】

2024-08-30 00:36

本文主要是介绍CSS-径向渐变【看这一篇就够了!!!】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

线性渐变

未设置角度,默认从上向下渐变

关键字指定渐变方向

用度数来指定渐变方向

多个颜色值,并且可以用百分数定义它出现的位置

自定义转换中点

浏览器私有前缀

 渐变色工具

径向渐变

简单的径向渐变

设置颜色节点出现的位置

设置径向渐变的形状shape

指定径向渐变中心位置position

指定不同尺寸大小size

椭圆时径向渐变

圆形时径向渐变

使用径向渐变实现彩虹效果

线性渐变

盒子的background-image属性可以用“linear-gradient()”形式创建线性渐变背景

语法:

background-image: linear-gradient(direction, color-stop1, color-stop2, ...);
描述
direction

用角度值指定渐变的方向(或角度)

未设置角度,则默认为180deg(从上到下)

设置了角度,则0deg为数值向上,然后顺时针旋转

指定关键词to right、to top、to bottom、to bottom right等

color-stop1,color-stop2,...用于指定渐变的起止颜色

未设置角度,默认从上向下渐变

<style>
.box1 {width: 200px;height: 200px;/* linear-gradient 线性渐变to right 表示渐变方向,向右ssgole 表示开始颜色red 表示结束颜色*/background-image: linear-gradient(gold, red);
}</style><body><div class="box1"></div></body>

效果:

关键字指定渐变方向

background-image: linear-gradient(to right, gold, red);

效果:

用度数来指定渐变方向

使用度数来指定渐变方向时,度数是从第一象限开始:

  background-image: linear-gradient(45deg, gold, red);

效果:

多个颜色值,并且可以用百分数定义它出现的位置

<style>.box3 {width: 600px;height: 200px;/* blue 代表蓝色0% 表示蓝色出现的位置yellow 代表黄色50% 表示黄色出现的位置red 代表红色100% 表示红色出现的位置 */background-image: linear-gradient(to right, blue 0%, yellow 50%, red 100%);}</style><body><div class="box3"></div></body>

上面出现的位置仅代表颜色出现的地方,在颜色出现的地方会水平自动的向左右延伸,直到碰到其他的颜色从而形成渐进,在两个颜色发生转换的地方我们叫做“转换中点

 效果:

自定义转换中点

我们可以将中点移动到这两个颜色之间的任意位置。

方法:“在两个颜色之间添加未标记的 % ,以知识颜色的转换中点

浏览器私有前缀

不同浏览器有不同的私有前缀,用来对实验性质的CSS属性加以标识

浏览器前缀
Chrome 浏览器-webkit-
Firefox 火狐-moz-
IE、Edge-ms-
欧朋-o-
background-image: -webkit-linear-gradient(to right, gold, red);
background-image: -moz-linear-gradient(to right, gold, red);
background-image: -ms-linear-gradient(to right, gold, red);
background-image: -o-linear-gradient(to right, gold, red);
background-image: linear-gradient(to right, gold, red);

 渐变色工具

在这里提供一个渐变色工具,里面有非常丰富的渐变色模版,还可以在线编写渐变色代码,并且支持一键复制CSS代码

主页面:

CSS代码获取

网址:渐变色工具 - 菜鸟工具 (jyshare.com)

径向渐变

  • 盒子的background-image属性可以用"radial-gradient()"形式创建径向渐变背景图
  • 径向渐变由其“转换中点”、“边缘形状轮廓”、“两个或多个色值结束点”定义而成

语法:

background-image: radial-gradient(shape size at position,start-color,...,last-color
);
描述
shape

确定圆的类型

ellipse(默认):椭圆形的径向渐变

circle:圆形的径向渐变

size

定义渐变的大小,可能值:

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

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

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

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

position

定义渐变的位置

可能值:

center(默认):设置中间为径向渐变圆心的纵坐标值

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

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

at x y:圆心中心在(x,y)位置处

start-color,....,last-color用于指定渐变的起止颜色

简单的径向渐变

默认起始点为元素中心点,默认形状为椭圆,默认尺寸大小为“farthest-corner”,颜色节点均匀分布

<style>.box {width: 600px;height: 200px;}.box1 {/*red代表红色yellow代表黄色blue代表蓝色未定义位置时,默认以元素中心位置为起点未定义渐变类型,默认是以椭圆形的径向渐变*/background-image: radial-gradient(red, yellow, blue);}
</style>
<body><div class="box box1"></div>
</body>

设置颜色节点出现的位置

同时可以通过中间填写非颜色的10%,为实现两个过渡色的颜色转换中心位置

<style>.box {width: 300px;height: 300px;border: 2px solid #fff;float: left;}.box1 {/* red代表红色10%代表红色起始点yellow代表黄色80% 代表黄色起始点blue代表蓝色 */background-image: radial-gradient(red 10%, yellow 80%, blue);}.box2 {/* red代表红色10%代表红色起始点第二个10%代表红色与黄色的转换中点yellow代表黄色80% 代表黄色起始点blue代表蓝色 */background-image: radial-gradient(red 10%, 10%, yellow 80%, blue);}
</style>
<body><div class="box box1"></div><div class="box box2"></div>
</body>

效果:

设置径向渐变的形状shape

shape参数定义了形状

它可以是值circle或ellipse。

其中,circle表示圆形ellipse表示椭圆形

默认值是ellipse

<style>.box {width: 300px;height: 200px;border: 2px solid #fff;float: left;}.box1 {/* circle 指定椭圆形的径向渐变red 代表红色yellow代表黄色blue代表蓝色 */background-image: radial-gradient(circle, red, yellow, blue);}.box2 {background-image: radial-gradient(red, yellow, blue);}
</style>
<body><div class="box box1"></div><div class="box box2"></div>
</body>

效果:

指定径向渐变中心位置position

<style>.box {width: 200px;height: 100px;margin: 0px 2px;float: left;color: #fff;}.box1 {/* at 100px 100px代表径向渐变的中心点red代表红色yellow 代表黄色blue代表蓝色*/background-image: radial-gradient(at 100px 100px, red, yellow, blue);}
</style>
<body><div class="box box1"></div>
</body>

效果:

指定不同尺寸大小size

椭圆时径向渐变

<style>.box {width: 200px;height: 100px;margin: 0px 2px;float: left;color: #fff;}.box1 {/* closest-side 最近的边50px 20px为径向椭圆的中心点red代表红色yellow 代表黄色blue代表蓝色*/background-image: radial-gradient(closest-side at 50px 20px,red,yellow,blue);}.box2 {background-image: radial-gradient(farthest-side at 50px 20px,red,yellow,blue);}.box3 {background-image: radial-gradient(closest-corner at 50px 20px,red,yellow,blue);}.box4 {background-image: radial-gradient(farthest-corner at 50px 20px,red,yellow,blue);}
</style>
<body><div class="box box1">closest-side</div><div class="box box2">farthest-side</div><div class="box box3">closest-corner</div><div class="box box4">farthest-corner</div>
</body>

效果:

圆形时径向渐变

<style>.box {width: 200px;height: 100px;margin: 0px 2px;float: left;color: #fff;}.box1 {/* circle 表示圆形的径向渐变closest-side 最近的边50px 20px为径向椭圆的中心点red代表红色yellow 代表黄色blue代表蓝色*/background-image: radial-gradient(circle closest-side at 50px 20px,red,yellow,blue);}.box2 {background-image: radial-gradient(circle farthest-side at 50px 20px,red,yellow,blue);}.box3 {background-image: radial-gradient(circle closest-corner at 50px 20px,red,yellow,blue);}.box4 {background-image: radial-gradient(circle farthest-corner at 50px 20px,red,yellow,blue);}
</style>
<body><div class="box box1">closest-side</div><div class="box box2">farthest-side</div><div class="box box3">closest-corner</div><div class="box box4">farthest-corner</div>
</body>

效果:

使用径向渐变实现彩虹效果

<style>.container {width: 600px;height: 300px;overflow: hidden;}.container .layer {width: 600px;height: 600px;/* 径向渐变 50% 50% 表示的是圆的大小*/background-image: radial-gradient(50% 50%,white 40%,pink 50%,pink 55%,red 60%,red 65%,orange 70%,orange 75%,skyblue 80%,skyblue 85%,yellow 90%,yellow 95%,white 95%);}
</style><body><div class="container"><div class="layer"></div></div>
</body>

效果:

这篇关于CSS-径向渐变【看这一篇就够了!!!】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1119301

相关文章

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

前端CSS Grid 布局示例详解

《前端CSSGrid布局示例详解》CSSGrid是一种二维布局系统,可以同时控制行和列,相比Flex(一维布局),更适合用在整体页面布局或复杂模块结构中,:本文主要介绍前端CSSGri... 目录css Grid 布局详解(通俗易懂版)一、概述二、基础概念三、创建 Grid 容器四、定义网格行和列五、设置行

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob

Vuex Actions多参数传递的解决方案

《VuexActions多参数传递的解决方案》在Vuex中,actions的设计默认只支持单个参数传递,这有时会限制我们的使用场景,下面我将详细介绍几种处理多参数传递的解决方案,从基础到高级,... 目录一、对象封装法(推荐)二、参数解构法三、柯里化函数法四、Payload 工厂函数五、TypeScript

Vue3使用router,params传参为空问题

《Vue3使用router,params传参为空问题》:本文主要介绍Vue3使用router,params传参为空问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录vue3使用China编程router,params传参为空1.使用query方式传参2.使用 Histo

CSS Padding 和 Margin 区别全解析

《CSSPadding和Margin区别全解析》CSS中的padding和margin是两个非常基础且重要的属性,它们用于控制元素周围的空白区域,本文将详细介绍padding和... 目录css Padding 和 Margin 全解析1. Padding: 内边距2. Margin: 外边距3. Padd