【css】渐变效果

news2025/2/27 7:29:16

css渐变效果

使用 CSS 渐变可以在两种颜色间制造出平滑的渐变效果。

用它代替图片,可以加快页面的载入时间、减小带宽占用。同时,因为渐变是由浏览器直接生成的,它在页面缩放时的效果比图片更好,因此你可以更加灵活、便捷的调整页面布型

类型含义
线性渐变linear-gradient指在一条直线上进行渐变
径向渐变radial-gradient是一种从起点到终点颜色从内到外进行圆形渐变(从中间向外拉,像圆一样)

一、线性渐变

创建一个线性渐变,至少定义两种颜色节点。颜色节点即你想要呈现平稳过渡的颜色。同时,你也可以设置一个起点和一个方向(或一个角度)。

语法

background: linear-gradient(direction, color1, color2, ...);

1、线性渐变 - 从上到下(to bottom)(默认情况下)/从下到上(to top)

background: linear-gradient(#e66465, #9198e5);//从上到下

background: linear-gradient(to top, #e66465, #9198e5);//从下到上

2、线性渐变 - 从左到右(to right)/从右到左(to left)

background: linear-gradient(to right, pink, skyblue);

background: linear-gradient(to left, pink, skyblue);

效果图

3、线性渐变 - 对角

background: linear-gradient(to top right, rgb(238, 163, 175), rgb(149, 214, 240));

4、线性渐变 - 使用角度

如果你想要在渐变的方向上做更多的控制,你可以定义一个角度,而不用预定义方向(to bottom、to top、to right、to left、to bottom right,等等)

语法

background: linear-gradient(angle, color1, color2,...);

html代码块

<div class="box box1">0deg</div>
<div class="box box2">90deg</div>
<div class="box box3">180deg</div>
<div class="box box4">-90deg</div>
<div class="box box5">45deg</div>
<div class="box box6">-45deg</div>

css代码块

<style>
    * {
        margin: 0;
        padding: 0;
    }
    
    .box {
        width: 150px;
        height: 150px;
        margin: 100px auto;
        margin-left: 10px;
        float: left;
    }
    
    .box1 {
        background: linear-gradient(0deg, pink, skyblue);
    }
    
    .box2 {
        background: linear-gradient(90deg, pink, skyblue);
    }
    
    .box3 {
        background: linear-gradient(180deg, pink, skyblue);
    }
    
    .box4 {
        background: linear-gradient(-90deg, pink, skyblue);
    }
    
    .box5 {
        background: linear-gradient(45deg, pink, skyblue);
    }
    
    .box6 {
        background: linear-gradient(-45deg, pink, skyblue);
    }
</style>

效果图

5、重复的线性渐变

将线性渐变平铺显示

语法

background: repeating-linear-gradient(direction, color1, color2,...);

html代码块

<div class="box box1">默认</div>
<div class="box box2">45deg</div>
<div class="box box3">从左到右</div>
<div class="box box4">190deg</div>

css代码块

<style>
    * {
        margin: 0;
        padding: 0;
    }
    
    .box {
        width: 150px;
        height: 150px;
        margin: 100px auto;
        margin-left: 10px;
        float: left;
    }
    
    .box1 {
        background: repeating-linear-gradient(red, yellow 10%, green 20%);
    }
    
    .box2 {
        background: repeating-linear-gradient(45deg, red, yellow 10%, green 20%);
    }
    
    .box3 {
        background: repeating-linear-gradient(to right, red, yellow 10%, green 20%);
    }
    
    .box4 {
        background: repeating-linear-gradient(190deg, red, yellow 10%, green 20%);
    }
</style>

效果图

补充:不均匀渐变百分比

百分比表示指定颜色的标准中心线位置,百分比之间是过渡色,如果百分比位置之间有重叠会失去渐变过渡色。

background: linear-gradient(red 10%, green 85%, blue 90%)

其中:

10% 表示 red 的颜色中心线在线性渐变方向的 10% 的位置。

85% 表示 green 的颜色中心线在线性渐变方向的 85% 的位置。

90% 表示 blue 的颜色中心线在线性渐变方向的 90% 的位置。

10% 到 85% 是 red-green 的过渡色,85%-90% 是 green-blue 的过渡色。

二、径向渐变

创建一个径向渐变,也必须至少定义两种颜色节点。颜色节点即你想要呈现平稳过渡的颜色。

同时,你也可以指定渐变的中心、形状(圆形或椭圆形)、大小。默认情况下,渐变的中心是 center(表示在中心点),渐变的形状是 ellipse(表示椭圆形),渐变的大小是 farthest-corner(表示到最远的角落)。

语法

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

参数含义默认值
shape定义形状(圆形或者椭圆)ellipse(表示椭圆形)注意:容器宽高不相等
size定义大小farthest-corner(表示到最远的角落)
position定义圆心的位置center(表示在中心点)
start-color定义开始的颜色值必填,无默认值
last-color定义结束的颜色值必填,无默认值
1、普通径向渐变

颜色节点均匀分布

<style>
        * {
            margin: 0;
            padding: 0;
        }
        
        .box {
            width: 200px;
            height: 150px;
            margin: 100px auto;
            background: radial-gradient(red, yellow, orange)
        }
    </style>

颜色节点不均匀分布

background: radial-gradient(red 5%, yellow 15%, orange 60%)

2、自定义圆心位置

background: radial-gradient(at right top, red, yellow, orange)
/*使用 at 来定义最终的圆心位置 at后面可以接代表方向的关键字 也可以使用百分值
默认是先设置水平方向的位置 然后是垂直方向 这里就表示将圆心的位置定义在右上角 
*/

3、自定义形状、自定义圆心位置

background: radial-gradient(circle at 50% 50%, red, yellow, orange)
/*这里表示的就是创建一个圆形 且该圆形的圆心位于水平方向50% 垂直方向50%的位置
*/

4、自定义径向大小

background: radial-gradient(100px 50px at 50% 50%, red, yellow, orange)
/*这里表示定义了一个水平半径为150px 垂直半径为110px 圆心的位置在水平方向50% 垂直方向50% 即居中显示*/

注意:自定义径向大小时,不能自定义形状。

自定义大小,是改变水平和垂直两个方向的半径,只有当形状是椭圆时,才能同时自定义水平和垂直方向的半径,当形状是圆时,只能调整一个方向的半径!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1388496.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Google的Ndk-Sample学习笔记之一(hello-jniCallback)

前言: 近段时间因为项目的需求,需要使用JNI,所以下载了Google的Ndk-Sample学习下,准备记录 下来,留给后期自己查看 问题点一:JNI_OnLoad方法必须返回JNI的版本 JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {JNIEnv *env;memset(&g_ctx, 0, sizeof(g_…

鸿蒙开发笔记(五):状态管理,组件状态管理 @State @Prop @Link

如果希望构建一个动态的、有交互的界面&#xff0c;就需要引入“状态”的概念。 在声明式UI编程框架中&#xff0c;UI是程序状态的运行结果&#xff0c;用户构建了一个UI模型&#xff0c;其中应用的运行时的状态是参数。当参数改变时&#xff0c;UI作为返回结果&#xff0c;也…

斯坦福 Stats60:21 世纪的统计学:第十五章到第十八章

第十五章&#xff1a;比较均值 原文&#xff1a;statsthinking21.github.io/statsthinking21-core-site/comparing-means.html 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 我们已经遇到了许多情况&#xff0c;我们想要询问样本均值的问题。在本章中&#xff0c;我们…

当前vscode环境下 多进程多线程运行情况探究

我的代码 其中在“打开图片时”、“进入子进程之前”、“子进程join前”、“进入子进程区域后”&#xff0c;“子进程join后”、“进入子线程区域后”分别打印了进程线程的编号和数量。 # -*- coding: utf-8 -*-# Form implementation generated from reading ui file test2.…

嵌入式-Stm32-江科大基于标准库的GPIO通用输入输出口

文章目录 一&#xff1a;GPIO输入输出原理二&#xff1a;GPIO基本结构三&#xff1a;GPIO位结构四&#xff1a;GPIO的八种模式道友&#xff1a;相信别人&#xff0c;更要一百倍地相信自己。 &#xff08;推荐先看文章&#xff1a;《 嵌入式-32单片机-GPIO推挽输出和开漏输出》…

virtualbox Ubuntu 网络连接

一、网络连接需求1—— 上网&#xff1a; 虚拟机默认的NAT连接方式&#xff0c;几乎不需要怎么配置&#xff0c;即可实现上网。 enp0s17以太网必须要开启&#xff0c;才能上网&#xff1b; 但是主机ping不通虚拟机&#xff0c;貌似可以ping 127.0.0.1; 二、主机和虚拟机相互p…

机器学习算法实战案例:LSTM实现多变量多步负荷预测

文章目录 1 数据处理1.1 数据集简介1.2 数据集处理 2 模型训练与预测2.1 模型训练2.2 模型多步预测2.3 结果可视化 答疑&技术交流机器学习算法实战案例系列 1 数据处理 1.1 数据集简介 实验数据集采用数据集6&#xff1a;澳大利亚电力负荷与价格预测数据&#xff0c;包括…

FFmpeg 入门

1. 编译 参考文档&#xff1a;FFmpeg编译和集成(FFmpeg开发基础知识)&#xff0c;重点注意这句话&#xff1a; 在MSYS2 Packages可以查到云仓库有哪些包&#xff0c;直接安装可节约大量时间。 注意&#xff1a;这个路径可自定义 吐槽 在看到这篇文章之前&#xff0c;花了大…

赋值运算符和关系运算符

赋值运算符和关系运算符 赋值运算符 分类 符号作用说明赋值int a 10&#xff0c; 将10赋值给变量a加后赋值a b&#xff0c;将a b的值赋值给a-减后赋值a - b&#xff0c;将a - b的值赋值给a*乘后赋值a * b&#xff0c;将a b的值赋值给a/除后赋值a / b&#xff0c;将a b的…

Java Chassis 3技术解密:注册中心分区隔离

原文链接&#xff1a;Java Chassis 3技术解密&#xff1a;注册中心分区隔离-云社区-华为云 注册中心负责实例的注册和发现&#xff0c;对微服务可靠运行起到举足轻重的作用。实例变更感知周期是注册中心最重要的技术指标之一。感知周期代表提供者的实例注册或者下线后&#xf…

uni书写TP6,环境7.3,随意二开,源码交付。APP小程序H5都有,UI美观

随着数字技术的迅猛发展和教育信息化的推进&#xff0c;智慧校园教务管理系统软件设计开发定制成为教育管理的重要举措。这样的系统可以利用先进的技术手段&#xff0c;提供全面的教务管理功能&#xff0c;提高教育管理的效率和质量。 课程管理&#xff1a;智慧校园教务管理系…

人力资源智能化管理项目(day01:基础架构拆解)

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/frontlearningNotes 觉得有帮助的同学&#xff0c;可以点心心支持一下哈 一、基础架构拆解 1.拉取模板代码 git clone GitHub - PanJiaChen/vue-admin-template: a vue2.0 minimal admin template 项目名 2.core-js…

js 回文串

思路&#xff1a; 判断一个字符串是否为回文字符串的基本思路是比较字符串的正序和倒序是否相同。 两者相同&#xff0c;则该字符串是回文字符串&#xff0c;否则不是。 要实现这一思路&#xff0c;我们可以使用 JavaScript 字符串的一些方法。我是忽略了所有的空格和符号&…

岛屿问题(DFS)

DFS的基本结构 网格结构比二叉树结构稍微复杂一点&#xff0c;它其实是一种简化版的图的结构。要写好网格上的DFS遍历&#xff0c;我们首先要理解二叉树上的DFS遍历方法&#xff0c;再类比写出网格结构上的DFS遍历。我们写的二叉树DFS遍历一般是&#xff1a; public void tra…

我自己总结记忆的23种设计模式

1&#xff0c; 对23种设计模式&#xff0c;大家的第一个印象就是抽象繁琐&#xff0c;记不住&#xff01;&#xff01;不常用&#xff1f;&#xff1f; 其实设计模式是非常有用的&#xff0c;大家只要理解设计模式了&#xff0c;思想上就能有质的飞跃&#xff01; 但是&#…

有哪些好用的视频剪辑工具?这几款剪辑必备

有哪些好用的视频剪辑工具&#xff1f;随着社交媒体的兴起&#xff0c;视频内容已经成为人们获取信息、娱乐和交流的重要方式。对于许多内容创作者来说&#xff0c;选择一款合适的视频剪辑工具是至关重要的。今天&#xff0c;我们就来介绍几款视频剪辑工具&#xff0c;它们各具…

uniapp中,子组件给父页面传值(父组件)

前言 最近在做的一个小程序项目中&#xff0c;有一个身份切换的功能&#xff0c;点击切换按钮时&#xff0c;子组件向父组件传递身份信息&#xff0c;父页面依据这个身份信息对页面进行显示与隐藏。 具体实现 子组件中定义一个点击事件,在这里是identitySwitching()方法 &l…

flink1.15 维表join guava cache和mysql方面优化

优化前 mysql响应慢,导致算子中数据输出追不上输入,导致显示cpu busy:100% 优化后效果两个图对应两个时刻: - - -- 优化前 select l.id,JSON_EXTRACT(r.msg,$$.key1) as msgv (select id,uid from tb1 l where id?) join (select uid,msg from tb2) r on l.uidr.uid;-- 优化…

@Transactional注解导致@DS切换数据源失效

原因 spring 的Transactional声明式事务管理时通过动态代理实现的。 删除事物的注解 增加其他数据库的事务注解 Transactional(rollbackFor Exception.class, propagation Propagation.REQUIRES_NEW)

YOLOv8改进 | 检测头篇 | 利用DBB重参数化模块魔改检测头实现暴力涨点 (支持检测、分割、关键点检测)

一、本文介绍 本文给大家带来的改进机制是二次创新的机制,二次创新是我们发表论文中关键的一环,本文给大家带来的二次创新机制是通过DiverseBranchBlock(DBB)模块来改进我们的检测头形成一个新的检测头Detect_DBB,其中DBB是一种重参数化模块,其训练时采用复杂结构,推理时…