CSS小技巧---线性渐变linear-gradient/径向渐变radial-gradient
文章目录
- 前言
- 普通渐变
- 条纹
- 条纹重复
- 虚线
- 斜向条纹
- 三角形
- 进度条动画 progress
- 网格
- 圆点阵列
- 波点图案
前言
本文主要介绍linear-gradient
的使用方法,既有普通的用法,也有高级用法,主要实现的功能有渐变、条纹、斜向条纹、网格、模拟虚线、progress进度条动画。看完本篇文章,相信你一定会有所收获
本文主要参考书籍【CSS揭秘】
普通渐变
-最常见的用法是从字面意思理解,实现一个渐变背景,如下图效果
background: linear-gradient(to right, #30e8bf, #ff8235);
条纹
调整色标位置,实现两个非渐变效果
background: linear-gradient(to right, #30e8bf 50%, #ff8235 50%);
参数解释,颜色后面跟一个百分比,表示当前颜色的过渡位置,如果前后两个颜色的过渡位置一样,则不会出现平滑渐变效果,而是突然变化
条纹重复
渐变背景除了铺满整个背景,还可以手动调整渐变尺寸, 通过设置background-size: 100% 50px
,设置宽度方向100%铺满,竖向50px,此时单个背景色高度是25px,默认情况下是重复平铺整个背景,效果如下,
background: linear-gradient(to bottom, #30e8bf 50%, #ff8235 50%);
background-size: 100% 50px;
这里还有个缩写小技巧,如果后一个色标位置小于前一个色标的位置,则后一个色标位置会被它前面色标位置最大值替代,如上线三个不同颜色的条纹可以缩写成这样
background: linear-gradient(to bottom,#30e8bf 33.3%,/* 这里的0,是缩写,相当于33.3% */#2a6b7e 0,#2a6b7e 66.6%,/* 这里的0,是缩写,相当于66.6% */#ff8235 0);background-size: 100% 50px;
虚线
搭配使用transparent可以实现虚线效果,在写法上有两种
height: 1px;/* repeating写法和下面带background-size效果是一样的 *//* background-image: repeating-linear-gradient(to right,gray,gray 10px,transparent 0,transparent 20px); */background-image: linear-gradient(to right,gray,gray 10px,transparent 0);background-size: 20px 100%;
额外提一句:实现虚线还可以使用svg,关键词:stroke-dasharray
斜向条纹
linear-gradient的第一参数可以设置方向,除了水平垂直外,还可以设置角度。现在尝试将其设置为45deg
background: linear-gradient(45deg, #30e8bf 50%, #ff8235 50%);background-size: 50px 50px;
发现这些格子没有无缝衔接,这时候可以利用css的另一个函数repeating-linear-gradient
,这个函数会无限重复色标,所以色标位置应该填写具体数值,而且不需要设置background-size
,如下图
background: repeating-linear-gradient(45deg,#30e8bf 0,#30e8bf 25px,#ff8235 0,#ff8235 50px);
三角形
在创建斜向条纹时,无意中发现了三角形,现在我们尝试将另一颜色设置为透明,就能完美的实现了一个三角形啦
height: 30px;width: 30px;background-image: linear-gradient(45deg, gray 50%, transparent 0);
进度条动画 progress
斜向条纹搭配ainimation
, 动态改变background-position-x
可以实现进度条动画
.div10 {height: 20px;background: repeating-linear-gradient(45deg,#30e8bf 25%,#ff8235 0,#ff8235 50%,#30e8bf 0,#30e8bf 75%,#ff8235 0);background-size: 30px 30px;animation: roll 1s linear infinite;}@keyframes roll {from {background-position-x: 0;}to {background-position-x: 30px;}}
网格
linear-gradient可以通过逗号,叠写多层渐变,横向网格+竖向网格叠加可以实现网格效果
background-color: teal;background-image: linear-gradient(white 1px, transparent 0),linear-gradient(90deg, white 1px, transparent 0);background-size: 30px 30px;
多个linear-gradient
叠加,再组合多个background-size
还可以实现下图中效果
background-color: teal;background-image: linear-gradient(white 2px, transparent 0),linear-gradient(90deg, white 2px, transparent 0),linear-gradient(rgba(255, 255, 255, 0.2) 1px, transparent 0),linear-gradient(90deg, rgba(255, 255, 255, 0.2) 1px, transparent 0);background-size: 75px 75px, 75px 75px, 15px 15px, 15px 15px;
通过颜色透明度的叠加,可以实现类似桌布的效果
background-color: white;background-image: linear-gradient(90deg,rgba(255, 0, 0, 0.5) 50%,transparent 0),linear-gradient(rgba(255, 0, 0, 0.5) 50%, transparent 0);background-size: 30px 30px;
圆点阵列
通过径向渐变radial-gradient
可实现圆点,重复平铺就能形成圆点阵列
首先回顾下radial-gradient
参数
background-image: radial-gradient(shape size at position, start-color, …, last-color);
值 | 描述 |
---|---|
shape | 确定圆的类型, 可取椭圆ellipse,圆形circle |
size | 定义渐变的大小 |
position | 定义渐变的位置,可取center(默认)、top、bottom |
start-color, …, last-color | 用于指定渐变的起止颜色 |
background-color: #f2f2f2;background-image: radial-gradient(gray 20%, transparent 0);background-size: 30px 30px;
波点图案
两层径向渐变,通过设置background-position
将第二层背景偏移量设置为第一层的一半,可以实现波点图案
CSS小技巧---线性渐变linear-gradient/径向渐变radial-gradient相关推荐
- CSS3 渐变: 线性渐变 linear-gradient 和 径向渐变 radial-gradient
渐变背景也是CSS3 的新特性,通过它可以在不使用图像的情况下,创建从一种颜色到另一种颜色的过渡.使用渐变的好处是,可以减少对图像的依赖,进而降低浏览网页时的带宽消耗,提高网站的访问速度. 渐变,就是 ...
- css 自动换行_前端必备!20个CSS小技巧
在日常学习和工作中,你是否经常觉得时间不够用?为了帮助你提高效率,今天,就为大家分享一些CSS小技巧,如果你感觉有用,也可以收藏与分享给你的小伙伴们~ 1. 文字水平居中 将一段文字置于容器的水平中点 ...
- 日常开发CSS小技巧整理
日常开发CSS小技巧整理 1.解决inline-block元素设置overflow:hidden属性导致相邻行内元素向下偏移 .wrap {display: inline-block;overflow ...
- css文字换行时对不齐,css小技巧 - 换行对齐
假如需要你实现换行对齐,你可能会想到ul标签和li标签自带这种功能 确实在使用li标签自带的项目符号的时候可以直接使用,但是有时可能会有不一致时 就需要我们动手写两行代码来实现一下,比如这种效果: 项 ...
- 12个你可能不知道的CSS小技巧
本文整理出12个开发中你有可能没有用到过的CSS小技巧,一起来看看吧~ 1. 自定义光标(cursor) 首先来看一下CSS的内置光标样式.平时开发中用到的基本上就是default.pointer.n ...
- 10 个不错的 CSS 小技巧
本文为译文,采用意译. CSS 大约有两百个属性.很多属性都是相互关联的,理清楚每一个属性细节是不可能的.所以,本文分享一些有用的 CSS 小技巧,方便开发者和设计师参考. 1. 打字效果 Typin ...
- css新特性:线性渐变详解(重复性线性渐变、径向渐变、重复性径向渐变的使用)
线性渐变 线性渐变 重复性线性渐变 径向渐变 重复性径向渐变的使用 线性渐变 线性渐变是向下.向上.向左.向右.对角方向的颜色渐变. 其语法格式为: background-image: linear- ...
- 前端开发者应该知道的 CSS 小技巧
一些小技巧让你的CSS技术更专业 使用:not()去除导航上不需要的边框 为body添加行高 垂直居中任何元素 逗号分离的列表 使用负nth-child选择元素 使用SVG图标 文本显示优化 在纯CS ...
- CSS小技巧之两行文字两端对齐
假如一个页面需要填写姓名和联系方式,为了使样式美观,通常需要文字两端对齐,即"姓"和"联"对齐,"名"和"式"对齐,通常 ...
最新文章
- php mysql安装位置_安装php时,--with-mysql指定的是哪个路径呢?
- MySQL数据库内连接查询inner join...on
- 【图论专题】欧拉路径和欧拉回路
- php技术会议总结,【技术产品】总结PHP编程20大效率要点
- 【 Vivado 】使用Vivado设计一个加/减法器的IP核(简洁英文版)
- android自定义布局实现优惠券效果
- python assert的作用
- 双指针法(leetcode分类解题,C++代码详细注释)
- BOOTSTRAP ---- 重要部分
- mysql两个查询结果差集_【Mysql】求两个表(查询结果)的差集
- Intellij IDEA 2017 如何导入 GitHub 中的项目
- Linux---管道通信的使用
- iyiw oracle_Oracle 单行函数
- 麻瓜编程python_麻瓜编程 - 主页
- Neuralizing Regular Expressions for Slot Filling 神经网络转回自动机
- 深入理解计算机系统 csapp 家庭作业(第二章完整版)
- 日本首次利用iPS视细胞治疗视网膜色素变性
- 计算机网络物理层之信道与信道容量
- 【快进来,这不是毒鸡汤,只是有毒而已】
- 第11周编程题在线测试