css 利用 linear-gradient 实现条纹背景

news2024/12/27 10:24:43

1. 水平条纹背景

当给背景设置渐变效果时,默认的渐变方向是垂直由上到下的,效果如下:

 
{
background: linear-gradient(#aaa, #ddd);
}

image

尝试拉近色标的距离,会发现渐变区域变小了:

 
{
background: linear-gradient(#aaa 40%, #ddd 60%);
}

image

当渐变色的色标设置为相同位置时,过渡区域就会变成无限小,看起来的效果就会如下图所示:

 
{
background: linear-gradient(#aaa 50%, #ddd 50%);
}

image

然后通过 background-size 来调整他的尺寸,由于默认情况下背景是重复平铺的,所以得到的效果就是填满水平条纹:

 
{
background: linear-gradient(#aaa 50%, #ddd 50%);
background-size: 100% 30px;
}

image

如果某个色标的位置值比整个列表中在它之前的色标的位置值都要小,则该色标的位置值会被设置为它前面所有色标位置值的最大值。因此后面色标的位置可以写成0:

 
{
background: linear-gradient(#aaa 50%, #ddd 0);
background-size: 100% 30px;
}

可以通过修改色标的位置来生成不等宽的条纹:

 
{
background: linear-gradient(#aaa 30%, #ddd 0);
background-size: 100% 30px;
}
{
background: linear-gradient(#aaa 70%, #ddd 0);
background-size: 100% 30px;
}

image

 

image

如果需要多种颜色的条纹,设置多种颜色渐变即可:

 
{
background: linear-gradient(#aaa 33.33%, #ddd 0, #ddd 66.66%, #fff 0);
}

image

2. 垂直条纹背景

想要生成垂直方向的条纹,只需修改渐变的方向即可(别忘了把 background-size 颠倒一下):

 
{
background: linear-gradient(to right, #aaa 50%, #ddd 0);
background-size: 30px 100%;
}
/* 或 */
{
background: linear-gradient(90deg, #aaa 50%, #ddd 0);
background-size: 30px 100%;
}

image

3. 斜向条纹背景

如果直接修改渐变方向,使其倾斜45°,并且修改 background-size ,会得到下面的效果:

 
{
background: linear-gradient(45deg, #aaa 50%, #ddd 0);
background-size: 30px 30px;
}

image

虽然效果也很好看,但是我们需要的效果是把整个背景旋转45°,而不是把每个小切片旋转45°。仔细观察会发现,想要通过小切片拼接成完整的斜向条纹,只需将每个切片分割为四份。因此需要新增两个色标:

 
{
background: linear-gradient(45deg, #aaa 25%, #ddd 0, #ddd 50%, #aaa 0, #aaa 75%, #ddd 0);
background-size: 30px 30px;
}

image

 

 

image

效果实现了,再调整 background-size ,增加条纹宽度:

 
{
background: linear-gradient(45deg, #aaa 25%, #ddd 0, #ddd 50%, #aaa 0, #aaa 75%, #ddd 0);
background-size: 60px 60px;
}

image

 

image

效果虽然实现,但是条纹的宽度如果想和上面的同样设置为15px,那 background-size 就需要根据勾股定理求出准确的值,此处的结果约为42,因为这个结果不能完全整除,所以只能根据想要的精确度四舍五入取值,因此这种方法不够灵活。如果想要其他倾斜角度的条纹便很难计算 background-size 。

想要灵活地实现不同角度的条纹,这时候就需要用到 repeating-linear-gradient() ,重复线性渐变。重复线性渐变会循环色标,知道填满整个背景:

 
{
background: repeating-linear-gradient(45deg, #aaa, #ddd 30px);
}

image

改写成上面的效果就是:

 
{
background: repeating-linear-gradient(45deg, #aaa 0, #aaa 15px, #ddd 0, #ddd 30px);
}

image

只需修改角度便可以得到不同角度的条纹:

 
{
background: repeating-linear-gradient(60deg, #aaa 0 15px, #ddd 0 30px);
}
{
background: repeating-linear-gradient(30deg, #aaa 0 15px, #ddd 0 30px);
}

image

 

image

4. 附录

MDN linear-gradient
MDN repeating-linear-gradient 

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

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

相关文章

Spring Security6 最新版配置该怎么写,该如何实现动态权限管理

Spring Security 在最近几个版本中配置的写法都有一些变化,很多常见的方法都废弃了,并且将在未来的 Spring Security7 中移除,因此又补充了一些新的内容,重新发一下,供各位使用 Spring Security 的小伙伴们参考。 接下…

Android控件【Notification】

文章目录 Notification与NotifactionManager创建一个NotificationManager使用Builder构造器来创建Notification对象 NotificationChannel通知重要程度设置,NotificationManager类中 Notification(通知)常见方法说明注意项目结构主要代码 Noti…

国产DSP,经典之作,C2000,QX320F280049

特性: 1、替代TI 的 TMS320F280049 2、独立双核,主频400MHz 3、单精度浮点运算,三角函数运算 4、Flash 1MB,SRAM 1MB 5、12bit ADC,采样率 3.45MSPS 6、16个高分辨率 ePWM 优点: 1、主频400MHz&#xff0c…

clion2020.3配置clang-format

标题clion 启用clang-format 文件->设置->编辑器->代码样式. 为了保持原有代码风格不变,可以把原始的配置风格先导出,最好直接保存到自己的工程下,.clang-format是隐藏文件,需要用ctrlH才能看到 文件->设置->编辑…

i++和++i在操作数栈和局部变量表的分配

1、执行运算指令时,压入操作数栈的顺序不受运算优先级影响 2、i 先将i值压入到操作数栈,再在局部变量表自增 3、i 先在局部变量表自增,再压入到操作数栈 记忆方法:i的先后,表示压入操作数栈的先后。 看如下例子&am…

从零实战SLAM-第七课(多视角几何)

在七月算法报的班,老师讲的蛮好。好记性不如烂笔头,关键内容还是记录一下吧,课程入口,感兴趣的同学可以学习一下。 --------------------------------------------------------------------------------------------------------…

Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

1、背景 一台运行在Esxi上面的VM重启后报initramfs-xxx.img not found错误。 按任意键后出现以下错误。 之前在运维Centos7的时候解决过Kernel panic - not syncing : VFS: Unable to mount root fs on unknown-block(0.0)错误,以为按照之前的解决方案,…

【删除vlan的方法】

提示错误 [SW1]undo vlan 10 Error: The VLAN has a L3 interface. Please delete it first. 解决办法 undo interface Vlanif10 #删除vlan 10下的接口 [SW1-GigabitEthernet0/0/1]dis this #删除下列的IP

vue3+ts使用antv/x6 + 自定义节点

使用 2.x 版本 x6.antv 新官网: 安装 npm install antv/x6 //"antv/x6": "^2.1.6",项目结构 1、初始化画布 index.vue <template><div id"container"></div> </template><script setup langts> import { onM…

从鲁大师十五年,寻找软件的生存法则

千禧之年&#xff0c;国内互联网用户数量首次突破1000万大关&#xff0c;互联网的腾飞正式拉开序幕。 从彼时算起&#xff0c;中国互联网发展也不过23年&#xff0c;而我们记忆中那个摇着蒲扇的老头&#xff0c;却占据了其中关键的十五年。 这十五年中有太多曾经为人熟知的软件…

超强的Everything,吊打系统自带文件搜索功能!

目录 一、软件简介 二、软件下载 三、软件说明 一、软件简介 Everything是一款由David OReilly开发的电脑搜索软件&#xff0c;它可以帮助用户快速找到电脑上的文件和文件夹。与其他搜索工具不同的是&#xff0c;Everything使用了一种非常快速和高效的搜索算法&#xff0c…

小视频AI智能分析系统解决方案

2022下半年一个项目&#xff0c;我司研发一个基于接收小视频录像文件和图片进行算法分析抓拍的系统&#xff0c;整理了一下主要思想如下&#xff1a; 采用C开发一个AI识别服务&#xff0c;该服务具有如下功能: 创建各类算法模型服务引擎池&#xff0c;每类池内可加载多个模型…

vue自定义指令--动态参数绑定

在企业微信侧边栏应用中&#xff0c;给dialog添加了拖拽功能&#xff0c;但是因为dialog高度超过了页面高度&#xff0c;所以高度100%时拖拽有个bug--自动贴到窗口顶部而且企业侧边栏宽高都有限制&#xff0c;拖拽效果并不理想&#xff0c;所以就想缩小dialog再进行拖拽。 拖拽…

全网最新超详细的C盘扩容(2023年),比如把D盘内存分给C盘

文章目录 1. 引入问题2. 磁盘分区3. 磁盘扩容4. 使用DiskGenius的注意事项 1. 引入问题 今天打开电脑&#xff0c;发现C盘爆红&#xff0c;如下图所示&#xff1a; 此时&#xff0c;我就知道需要扩容。 2. 磁盘分区 我们在扩容C盘的前提&#xff0c;需要寻找其他可用空间较多…

金蝶软件实现Excel数据复制分录信息粘贴到单据体分录行中

>>>适合KIS云专业版V16.0|KIS云旗舰版V7.0|K/3 WISE 14.0等版本<<< 实现Excel数据复制分录信息粘贴到金蝶单据体分录中,在采购订单|采购入库单|销售订单|销售出库单等类型单据中,以少量的必要字段在excel表格中按模板填列好,很方便快捷地复制到金蝶单据表体…

导出微信好友,批量加好友、导出微信群员信息

下面的代码基于千寻框架&#xff0c;都测试过了&#xff0c;都能正常使用。 需要项目代码或者千寻框架的可以加我V&#xff1a;iostreamX64 注意&#xff1a;批量加好友的时候记得设置个时间间隔&#xff0c;加好友太频繁微信会被封的。 导出微信群员信息 import pandas as…

各行业全网营销大揭秘:电商、快消品、汽车如何在数字化时代脱颖而出?

随着数字化时代的到来&#xff0c;全网营销已经成为了许多企业的首选营销方式。全网营销具有成本低、覆盖面广、互动性好等优点&#xff0c;能够帮助企业提升品牌认知度和销售额。然而&#xff0c;不同的行业在进行全网营销时&#xff0c;需要采用不同的营销策略。本文一秒推小…

item_get_desc-获得淘宝商品描述

一、接口参数说明&#xff1a; item_get_desc-获得淘宝商品描述&#xff0c;点击更多API调试&#xff0c;请移步注册API账号点击获取测试key和secret 公共参数 请求地址: https://api-gw.onebound.cn/taobao/item_get_desc 名称类型必须描述keyString是调用key&#xff08;点…

【node】用node爬取网页图片,并创建目录 将爬取的图片存储到目录中,附带源码

效果图&#xff1a; 完整代码&#xff1a; var myRequest require(request) var myCheerio require(cheerio) const http require(http); const fs require(fs);// 要爬取的目标网页地址 var myURL https://588ku.com/sheyingtu/0-0-default-0-1/// 目标文件夹路径 const…

yolov8训练进阶:自定义训练脚本,从配置文件载入训练超参数

yolov8官方教程提供了2种训练方式&#xff0c;一种是通过命令行启动训练&#xff0c;一种是通过写代码启动。 命令行的方式启动方便&#xff0c;通过传入参数可以方便的调整训练参数&#xff0c;但这种方式不方便记录训练参数和调试训练代码。 自行写训练代码的方式更灵活&am…