美文网首页
阅读CSS Secrets(四)

阅读CSS Secrets(四)

作者: _陈慧敏 | 来源:发表于2015-12-11 15:16 被阅读129次

使用CSS制作条纹背景图

prerequisites
CSS linear gradients,background-size

<div class=d1></div>
.d1{
  width:200px;
  height:150px;
  background:linear-gradient(#fb3,#58a)
}

background的颜色从#fb3渐变到了#58a


1.png

当我们给颜色后面加百分比后,

div{
  width:200px;
  height:150px;
  background:linear-gradient(#fb3 20%,#58a 80%)
}
2.png

上下部分均为单一颜色,从高度20%-80%里是渐变色

当百分比都为50%时,即为突变

div{
  width:200px;
  height:150px;
  background:linear-gradient(#fb3 50%,#58a 50%)
}
3.png

这里可以解释为 颜色从 百分比1 到 百分比2的部分是渐变颜色,其他部分是单一颜色。
渐变色背景可以被看成背景图片来使用,比如加入一个background-size

div{
  width:200px;
  height:150px;
  background:linear-gradient(#fb3 50%,#58a 50%);
  background-size:100% 30px;
}

一开始我在想为什么backgroun-size加了100% 30px怎么变成这样了?? 难道是100%高度 然后以30px为分成块?
。。后来测试之后明白 100%为宽度 30px为高度, 而做为背景图片 自动repeat平铺铺满。。


4.png

当然可以使用3种颜色的条纹,即在linear-gradient后面再多加一条颜色,不过这里会麻烦一点

div{
  width:200px;
  height:150px;
  background:linear-gradient(#fb3 33%,#58a 0,#58a 66%,yellowgreen 0);
  background-size:100% 30px;
}

这里需要取消渐变的百分比差 ,所以中间会多出一个#58a 0

5.png

垂直条纹

在linear-gradient前面加个to 方向,然后更改background-size后

.d1{
  width:200px;
  height:150px;
  background:linear-gradient(to right,#fb3 33%,#58a 0,#58a 66%,yellowgreen 0);
  background-size:30px 100%;
}
6.png

对角线条纹

.d1{
  width:200px;
  height:150px;
  background:linear-gradient(45deg,#fb3 50%,#58a 0);
  background-size:30px 30px;
}

然而效果是这样的,并不是斜对角条纹啊!!而是好多格子

7.png

难道是background-size 30px 30px 所以成这样了吗
然后我改成 100% 100%,咦 好像这样也是错的!!!为什么这样

8.png

原因在于,我们只是旋转45度的梯度在每个瓷砖,不是重复背景作为一个整体。。。整体!!

当颜色区块变多时

 .d1{
      width:200px;
      height:150px;
      background:linear-gradient(45deg,#fb3 25%,#58a 0,#58a 50%,#fb3 0,#fb3 75%,#58a 0);
      background-size:100% 100%;
    }

稍微比之前好看点,


9.png

把单位格子缩小时

.d1{
      width:200px;
      height:150px;
      background:linear-gradient(45deg,#fb3 25%,#58a 0,#58a 50%,#fb3 0,#fb3 75%,#58a 0);
      background-size:30px 100%;
    }
11.png

为什么相差这么大呢
当我把background-repeat 设置为no-repeat时候,就变成这小块,都是平铺的效果!!

12.png

这里CSS3提供了 更加简单的属性 repeating-linear-gradient 可以更好的创建单体斜角,最后面为单体的宽度

.d1{
  width:200px;
  height:150px;
  background:repeating-linear-gradient(45deg,#fb3,#58a 30px)
}
13.png

这里还有个应对原形渐变的属性 radial-gradient

.d1{
  width:200px;
  height:200px;
  border-radius:100px;
  background:radial-gradient(#fb3,#58a)
}
14.png

再试试repeat-radial-gradient属性

.d1{
  width:200px;
  height:200px;
  border-radius:100px;
  background:repeating-radial-gradient(#fb3,#58a 30px)
}
15.png

相关文章

  • 阅读CSS Secrets(四)

    使用CSS制作条纹背景图 prerequisitesCSS linear gradients,background...

  • 阅读CSS Secrets(二)

    如何减少不必要的媒体查询 使用百分比代替固定宽度,当无法实现的时候,可以使用窗口的相对单位(vw,wh,vmin,...

  • 阅读CSS Secrets(三)

    inner rounding 看到这个图会怎么做?外面的框的尖的,里面的框的有弧度的最简单的办法一个div中嵌套一...

  • 阅读CSS Secrets(五)

    Complex background patterns复杂的背景组合 网格,栅格 原理:用渐变色来生成背景图片,2...

  • 阅读CSS Secrets(六)

    (伪随机背景) 随机的背景比有规则的背景看起来更加自然,然而如何去制作随机背景呢。 首先做一个四色条纹 这是一个重...

  • 阅读CSS Secrets(七)

    连续图片边框 大家看到这张图 一开始的想法是怎么去实现呢1.可以使用div+div来实现,外div设置背景图和pa...

  • 阅读CSS Secrets(一)

    CSS编码提示 减少重复的代码一个重要的组成部分就是尽可能减少必要的修改看下面一个例子 当属性相互依赖的时候,尽量...

  • 阅读CSS Secrets(十)

    Cutout corners角 首先做一个最简单的,多边形,然后右下角一个边角 方法一:使用渐变来做,斜角度,然后...

  • 阅读CSS Secrets(八)

    灵活的椭圆 我们都知道,在一个正方形的时候,定义一个border-radius的值大于等于一半的宽度后就可以生成一...

  • 阅读CSS Secrets(九)

    平行四边形 这里需要用到css3的transform属性 使用skewY来制作跟向Y轴倾斜的四边形 多个div然后...

网友评论

      本文标题:阅读CSS Secrets(四)

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