美文网首页
5、条纹背景

5、条纹背景

作者: Elevens_regret | 来源:发表于2017-04-01 21:04 被阅读0次

    1、水平和垂直条纹

    使用背景渐变效果可以实现各种各样的条纹背景。
    当渐变色中的多个色标具有相同的位置时,它们之间就不会出现渐变效果,而是直接从一种颜色突变成另一种颜色。

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

    再利用background-size控制渐变的大小。

    background: linear-gradient(#fb3 50%,#58a 50%);
    background-size: 100% 40px;
    background-repeat: no-repeat;
    

    去掉background-repeat属性,让背景进行重复,就得到了条纹背景。

    background: linear-gradient(#fb3 50%,#58a 50%);
    background-size: 100% 40px;
    

    垂直的条纹只要加上渐变的方向,交换一下background-size中x方向与y方向的值即可。

    background: linear-gradient(to right,#fb3 50%,#58a 50%); // to right 也可换成 90deg
    background-size: 40px 100%;
    

    更加简化的写法,之后的色标颜色位置数值如果比之前的色标位置数值要小,那么之后的色标位置数值会被设置为之前色标的位置数值的最大值。
    利用这一特性,将之后的色标位置属性改为0,这样修改的时候就只需要修改之前色标的位置数值了。

    background: linear-gradient(90deg,#fb3 50%,#58a 0); // 效果与上图相同,改变50%这个值就可以改变条纹中两个颜色所占的比例。
    background-size: 40px 100%;
    

    2、斜向条纹

    要得到斜向条纹,直接改变角度是不行的

    background: linear-gradient(45deg,#fb3 50%,#58a 0); // 直接将90deg改为45deg,然后改变切片大小。会得到下图,得不到斜向条纹
    background-size: 40px 40px;
    

    需要重新思考背景重复的模块,水平和垂直的条纹中重复的是两条颜色条组成的条纹,45度斜向的条纹中,重复的是下面这个模块。

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

    去掉background-repeat;no-repeat属性之后就可以得到45度的斜向条纹。



    background-size属性的值从40变成了56,之所以变大了,是因为条纹倾斜后,条纹的宽度变成了对角线的宽度,而不是原来的水平宽度,为了保证条纹宽度不会发生变化,就要改变背景大小的值,让对角线的长度变为之前的40,45度倾斜形成的是一个等腰直角三角形,用勾股定理可以求到background-size的大小约为56。


    3、更好的斜向条纹。

    当倾斜的角度不是45度并且不一定时,背景重复的模块就不是之前的了。此时可以使用循环渐变属性。

    background: repeating-linear-gradient(60deg,#fb3,#fb3 20px,#58a 0,#58a 40px,#fb3 0,#fb3 60px,#58a 0,#58a 80px);
    

    使用和这个属性就没有必要计算background-size的值了,因为条纹的宽度已经写入了每个颜色之间,改变60deg这个值就可以得到任何角度的倾斜条纹。


    4、灵活的同色系条纹

    当我们的渐变条纹的颜色为同一色系,只是在颜色的深浅上有差别(例如深蓝-浅蓝的渐变条纹)时。可以将最深的颜色当做背景色,然后再背景色上面使用白色的透明来实现渐变色,这样就可以得到同一色系的渐变条纹。

    background: #58a;
    background-image: repeating-linear-gradient(45deg,rgba(255,255,255,.1),rgba(255,255,255,.1) 20px,transparent 0,transparent 40px);
    

    这样只要改变#58a这个值,就可以生成另外一个色系的条纹背景。

    相关文章

      网友评论

          本文标题:5、条纹背景

          本文链接:https://www.haomeiwen.com/subject/vjhwottx.html