css斜条纹背景——linear-gradient
效果:
代码贴上(html代码就一个container,没写的)
body{ background: #243960; } .container{ margin: 200px auto; width: 500px; height: 500px; background: linear-gradient( 45deg, rgba(0, 153, 68, .5) 0, rgba(0, 153, 68, .5) 25%, transparent 25%, transparent 50%, rgba(0, 153, 68, .5) 50%, rgba(0, 153, 68, .5) 75%, transparent 75%, transparent ); background-size: 50px 50px; } |
接下来一个一个解析:
margin, width, height 这块自己随意定义,关键属性有两个——background中的linear-gradient 和 background-size。
先来linear-gradient,分析其属性,总共有9个属性
45deg外加8个后接百分比的颜色值。
45deg表示条纹倾斜角度,这个好理解。如果不加这个属性,就成了横条纹了,以此90deg就是竖条纹,可以组成花格条纹。
分析后面8个属性,总结出是由一个rgba颜色值和transparent外加百分比组成。
rgba颜色值是条纹的颜色,transparent其实也是颜色,不过是继承自父级的,而这里的父级颜色就是body的背景色(在这块代码里可以理解为无色透明≈rgba(0,0,0,0))。
而百分比也比较好理解,不过需要串起来读:
0-25% 是 条纹色
25%-50% 是 父级颜色
50%-75% 是 条纹色
75%-100% 是 父级颜色
这里的细节最后一个transparent后没接百分比其实是表示transparent 1,也就是100%了。注:如果没有写角度属性,渲染是从top开始的,如果写的是0deg是从bottom开始的,角度值增加多少,则渲染开始点顺时针旋转多少。
接下来讲道理了,按照这个逻辑,那我们渲染的图片应该是这个样的
怎么成了第一张图的模样了?其实关键点是在后面一个属性background-size,以及默认值为repeat的background-repeat。
使用background-size: 50px 50px;就把上图的样式缩小到了50*50的方格子中。然后这样是无法铺满500*500的容器,另外background-repeat的默认repeat发挥作用,把渲染好的50*50方格子平铺重复渲染到500*500的容器里面。就做成了第一张图的效果。
了解到每个属性的作用,拓展起来就方便多了,如果要改变斜条纹线条的大小,只需要改变background-size的大小就行了。颜色也不一定要用rgba格式,另外如果要做双色条纹也只需要把transparent改成另外一个颜色就ok。三色条纹也简单
50% ÷ 3 ≈ 16.66%
所以代码是:
1 2 3 4 5 6 7 8 9 10 11 | .container{ margin: 200px auto; width: 500px; height: 500px; background: linear-gradient( 45deg, red 0, red 16.66%, #fff000 16.66%, #fff000 33.33%, rgb(0, 0, 255) 33.33%, rgb(0, 0, 255) 50%, red 50%, red 66.66%, #fff000 66.66%, #fff000 83.33%, rgb(0, 0, 255) 83.33%, rgb(0, 0, 255) ); background-size: 50px 50px; } |
效果太辣眼睛就不贴了。
关于斜条纹就暂时到这里了,如果后期有更好玩的会持续更新
转自:https://blog.csdn.net/u013344993/article/details/80936695
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)