Page 63 - css揭秘
P. 63

纹的角度如何,我们在创建双色条纹时都需要用到四个色标。这意味着,我
                                              们最好用前面的方法来实现水平或垂直的条纹,而用这种方法来实现斜向条
                                              纹。另外,在处理 45°条纹时,我们甚至可以把这两种方法结合起来,本质
                                              上是通过重复线性渐变来简化贴片的代码:

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


                                               试一试 play.csssecrets.io/diagonal-stripes-60deg



                                              灵活的同色系条纹

                                                  在大多数情况下,我们想要的条纹图案并不是由差异极大的几种颜色组
                                              成的,这些颜色往往属于同一色系,只是在明度方面有着轻微的差异。举个
                                              例子,我们来看看这个条纹图案:

                                                  background: repeating-linear-gradient(30deg,
                                                                #79b, #79b 15px, #58a 0, #58a 30px);
                    图 2-37
                    这个条纹是由蓝色及其浅色变体                在图 2-37 中可以看到,条纹是由一个主色调(                     #58a)和它的浅色
                    所组成的
                                              变体所组成的。但是,这两种颜色之间的关系在代码中并没有体现出来。此
                                              外,如果我们想要改变这个条纹的主色调,甚至需要修改四处!

                                                  幸运的是,还有一种更好的方法:不再为每种条纹单独指定颜色,而是
                                              把最深的颜色指定为背景色,同时把半透明白色的条纹叠加在背景色之上来
                                              得到浅色条纹:





                     关于未来       包含两个位置信息的色标

                    根据 CSS 图像(第四版) (http://w3.org/TR/css4-images)计划新增的一个简化语法来看,很快我们就
                    可以在同一个色标上指定两个位置值了。这个简写语法的含义相当于两个连续的色标具有相同的颜色和不
                    同的位置,这个特性在创建渐变图案时是十分有用的。举个例子,用这个新语法来生成图 2-36 中的斜向
                    条纹:

                        background: repeating-linear-gradient(60deg, #fb3 0 15px, #58a 0 30px);

                    这样的代码不仅更加简单,而且显然是更加 DRY 的:颜色值再也不需要重复了,因此我们在改动颜色时
                    只需要修改一处。遗憾的是,在我写书的当下,还没有任何浏览器支持这个特性。

                    测一测 play.csssecrets.io/test-color-stop-2positions





                   32   第 2 章 背景与边框







          ඀ࠡ  JOEC
   58   59   60   61   62   63   64   65   66   67   68