Page 60 - css揭秘
P. 60

这意味着,如果我们把第二个色标的位置值设置为 0,那它的位置就
                    总是会被浏览器调整为前一个色标的位置值,这个结果正是我们想要的。
                    因此,下面的代码会产生跟图 2-26 完全一样的条纹背景,但代码会更加
                    DRY:

                        background: linear-gradient(#fb3 30%, #58a 0);
                        background-size: 100% 30px;                                      图 2-26
                                                                                         不等宽的条纹图案
                        如果要创建超过两种颜色的条纹,也是很容易的。举例来说,下面的代
                    码可以生成三种颜色的水平条纹(参见图 2-27):

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


                     试一试 play.csssecrets.io/horizontal-stripes                           图 2-27
                                                                                         有三种颜色的条纹图案

                    垂直条纹


                        水平条纹是最容易用代码写出来的,但我们在网页上看到的条纹图案并
                    不都是水平的。有些条纹是垂直的(参见图 2-28),而且某些形态的斜条纹
                    或许更受欢迎,或者看起来更加有趣。幸运的是,CSS 渐变同样也能帮助我
                    们创建出这些效果,只是难度稍有不同。

                        垂直条纹的代码跟水平条纹几乎是一样的,差别主要在于:我们需要在
                    开头加上一个额外的参数来指定渐变的方向。在水平条纹的代码中,我们其
                    实也可以加上这个参数,只不过它的默认值 to  bottom 本来就跟我们的意
                    图一致,于是就省略了。最后,我们还需要把 background-size 的值颠倒
                    一下,原因应该不用多说了吧:


                        background: linear-gradient(to right, /* 或 90deg */              图 2-28
                                      #fb3 50%, #58a 0);                                 我们的垂直条纹。上图:还没有
                        background-size: 30px 100%;                                      平铺展开的单个贴片;下图:平
                                                                                         铺得到的条纹图案
                     试一试 play.csssecrets.io/vertical-stripes


                    斜向条纹


                        在完成了水平和垂直条纹之后,我们可能会顺着往下想:如果我们再次
                    改变 background-size 的值和渐变的方向,是不是就可以得到斜向(比如
                    45°)的条纹图案呢?比如这样(结果如图 2-29 所示):
                                                                                         图 2-29
                                                                                         我们对于斜向条纹的首次尝试失
                        background: linear-gradient(45deg,
                                                                                         败了



                                                                                                5 条纹背景         29







          ඀ࠡ  JOEC
   55   56   57   58   59   60   61   62   63   64   65