[CSS揭秘]条纹背景

背景知识

线性渐变 linear-gradient

案例

background: linear-gradient(#fb3, #58a);

如果将这两个色标拉近一点,设置为background: linear-gradient(#fb3 20%, #58a 80%);那么真正的渐变只会出现在容器中间60%的区域内。如果我们将两个色标重合在一起,会发生什么呢?

如果多个色标具有相同的位置,它们会产生一个无限小的过渡区域,过渡的起止色分别是第一个和最后一个指定值。从效果上看,颜色会在那个位置突然变化,而不是一个平滑的渐变过程。

tips:渐变的本质其实是一种通过代码生成的图像,所以能够像对待其他任何背景图像一样来对待,因此可以通过background-size属性来调整它的尺寸。

background-size: 100% 30px; 默认情况下背景图片时重复平铺的,设置background-repeat: no-repeat 使得图片不重复

也可以通过调整色标位置来实现不等宽度的条纹,为了避免每次修改条纹宽度都要改动两个值,我们找到了简写方法: background: linear-gradient(#fb3 30%, #58a 0);

如果某个色标的位置值比整个列表中在它之前的色标的位置值都要小,则该色标的位置值会被设置为它前面所有色标位置值的最大值

创建三种颜色的水平条纹

background: linear-gradient(#fb3 33.3%, #58a 0, #58a 66.6%, yellowgreen 0);

background-size: 100% 45px;

垂直条纹

在指定渐变色时可以通过一个额外的参数来指定渐变的方向。默认值为to bottom也就是水平条纹。

background: linear-gradient(to right, #fb3 50%, #58a 0);

background-size: 30px 100%;

斜向条纹

background: linear-gradient(45deg, #fb3 25%, #58a 0, #58a 50%, #fb3 0, #fb3 75%, #58a 0);

background-size: 42px;

但是,如果我们想实现30°,60°等不同角度的条纹怎么办?如果只是单纯的修改渐变角度值,显然结果会很糟糕。

linear-gradient和radial-gradient都有一个循环式加强版(重复渐变) repeating-linear-gradient 和 repeating-radial-gradient 重复渐变的特点: 色标是无限循环重复的,直到填满整个背景(background-size区域)。

使用重复渐变实现前面的45deg斜向条纹(通过linear-gradient和background-size实现)

将repeating-linear-gradient与background-size相结合也可以实现上述样式。由于小数不精确,个人不推荐使用这种方法。

background: repeating-linear-gradient(45deg, #fb3 0, #fb3 25%, #58a 0, #58a 50%);

background-size: 42.426406871px 42.426406871px;

灵活的同色系条纹

下面讲解一个小技巧:

如果条纹图案的颜色属于同一色系,差异不大,只是在明度方面有着轻微的差异。这种情况下,按照之前的写法,如果需要调整颜色时,我们需要修改四个颜色值。这时候有个小技巧,把最深的颜色指定为背景色,把半透明白色[hsla(0,0%,100%,alpha)]的条纹叠加在背景色之上得到浅色条纹。这时候只需要修改背景色就可以得到不同颜色变化的条纹。同时对于旧的不支持渐变色的浏览器也能很好的显示背景色。

background: #58a;

background-image: repeating-linear-gradient(30deg, hsla(0,0%,100%,.1), hsla(0,0%,100%,.1) 15px, transparent 0, transparent 30px);

结语

本篇,我们通过CSS渐变实现了简单的条纹背景。在下一篇中,我们会通过CSS渐变和叠加的手法,将多个渐变图案进行组合来构造出非常复杂的图案。

时间: 2024-10-08 00:01:31

[CSS揭秘]条纹背景的相关文章

神奇的CSS技巧探秘——CSS绘制条纹背景

一.横向条纹 如下代码: background: linear-gradient(#fb3 20%, #58a 80%) 上面代码表示整个图片的上部分20%和下部分20%是对应的纯色,只有中间的部分是渐变色.如果让中间的部分逐渐缩小,当中间部分变为0即上下两种颜色的七点和终点相同是,就没有了渐变而变成了两种颜色的色条: background: linear-gradient(#fb3 50%, #58a 50%); 接下来可以通过设置背景的大小,让背景高度变小并且背景默认为repeat,从而出现

[css 揭秘] :CSS揭秘 技巧(五):条纹背景

条纹背景 https://github.com/FannieGirl/ifannie/问题:条纹背景 在设觉设计中无处不在,我们真的可以用css 创建图案吗? 这一章相对还是比较复杂的哦!一起get.首先我们做一个渐变的背景 横条背景 现在我们把这两个色标拉近一点 这样好像条纹背景 就出来了哦!不过这是横向的,是不是还可以竖线呢!肯定是可以的啦,看看多变的条纹背景 竖条背景 斜向背景 这样的条纹背景还是不够灵活的.还有更好的方案 liear-gradient() 和 radial-gradien

[css 揭秘]:CSS揭秘 技巧(二):多重边框

我的github地址:https://github.com/FannieGirl/ifannie/ 源码都在这上面哦! 喜欢的给我一个星吧 多重边框 问题:我们通常希望在css代码层面以更灵活的方式来调整边框样式 方案一:box-shadow 目前为止,我们大多数人可能已经用过(或者滥用过)box-shadow来生成投影,不太为人之的是,它还接受四个参数(扩张半径),通过制定正值或负值,可以让投影面积加大或者减小, 用它的好处是它支持逗号分隔语法,我们可以创建任意数量的投影 知识背景:box-s

css揭秘--笔记(未完)

第0章 关于本书 1, 本书要用到一个工具函数————$$(),它可以让我们更容易获取和遍历所有匹配特定css选择符的dom元素: 1 function $$(selector,context){ 2 context=context||document; 3 var elements=context.querySelectorAll(selector); 4 return Array.prototype.slice.call(elements); 5 } 2, 以下实现一个效果: 1 linea

电子书 CSS揭秘.pdf

本书是一本注重实践的教程,作者为我们揭示了47个鲜为人知的CSS技巧,主要内容包括背景与边框.形状.视觉效果.字体排印.用户体验.结构与布局.过渡与动画等.本书将带领读者循序渐进地探寻更优雅的解决方案,攻克每天都会遇到的各种网页样式难题. 本书的读者对象为前端工程师.网页开发人员.作者简介 Lea Verou,W3C CSS工作组特邀专家,设计CSS语言的委员之一,此前曾在W3C担任开发者代言人.目前,她在麻省理工学院从事人机交互领域的研究.她还是一位博客作家,并经常在国际性技术会议上担任讲师:

CSS揭秘

第1章 引言 第2章 背景与边框 第3章 形状 第4章 视觉效果 第5章 字体排印 第6章 用户体验 第7章 结构与布局 第8章 过渡与动画 第1章 引言 Web标准:是敌还是友 CSS编码技巧 第2章 背景与边框 1 半透明边框 2 多重边框 3 灵活的背景定位 4 边框内圆角 5 条纹背景 6 复杂的背景图案 7 伪随机背景 8 连续的图像边框 第3章 形状 9 自适应的椭圆 10 平行四边形 11 菱形图片 12 切角效果 13 梯形标签页 14 简单的饼图 第4章 视觉效果 15 单侧投

第17章 CSS边框与背景(上)

第 17章 CSS边框和背景[上]学习要点:1.声明边框2.边框样式3.圆角边框 本章主要探讨 HTML5中 CSS边框和背景,通过边框和背景的样式设置,给元素增加更丰富的外观.一.声明边框边框的声明有三个属性设置,样式表如下:属性 值 说明 CSS版本border-width 长度值 设置边框的宽度,可选 1border-style 样式名称 设置边框的样式,必选 1border-color 颜色值 设置边框的颜色,可选 1 这三个属性值,只有 border-style是必须声明,才可以出现边

[css 揭秘]:CSS揭秘 技巧(四):边框内圆角

我的github地址:https://github.com/FannieGirl/ifannie/ 源码都在这上面哦! 喜欢的给我一个星吧 边框内圆角 问题:有时候我们需要一个容器,只在内侧有圆角,而边框或描边的四个角在外部仍然保持直角的形状. 其实,以前我都是用两个div实现的. 解决方案 如果只需要达成简单的实色效果,我们还可以通过其他的方法. 描边 并不会跟着元素的圆角走(因而可以实现外层是直角),box-shadow 却是会的,因此把两者叠加到一起,box-shadow 会刚好填补 描边

CSS揭秘--写在结尾处

路漫漫,其修远兮;吾将上下来求索. 日读CSS揭秘有感:文档结构与样式的分离. 有时候为了表达出某种样式,不得不往文档里添加额外的标签.很无奈是不是,文档套的层数就像裹脚的布一样,z-index的值能顶到天上.借鉴Lea verou的话说,追求极致的路没有极限.现在的CSS已经很完备了,大部分都不需要借助添加额外标签来实现样式,保持结构的清晰,保持样式的可维护都是有出路的. 不寄望自己能有她那样的水平,追随她的脚步,一步一步地向着文档结构和样式脱离的目标走吧.