Page 51 - css揭秘
P. 51

试一试 play.csssecrets.io/translucent-borders




                                                   „ CSS 背景与边框
                                                  http://w3.org/TR/css-backgrounds                 相关规范
                    图 2-4
                    用 background-clip 来修复这个
                    问题











                                 2 多重边框





                                                背景知识

                                                box-shadow 的基本用法




                                              难题


                                                  回首往事,当背景与边框(第三版)(http://w3.org/TR/css3-background)
                                              还在草案阶段时,CSS 工作组内部有过很多讨论,关于是否应该允许多重边
                                              框,就像多重背景那样。不幸的是,当时一致认为这个特性并没有足够多的
                                              使用场景,而且网页开发者还可以使用 border-image 来达到相同的效果。
                                              然而工作组忽略了一点:我们通常希望在 CSS 代码层面以更灵活的方式来
                                              调整边框样式。因此,网页开发者们最终不得不折腾出各种丑陋的 hack,比
                                              如使用多个元素来模拟多重边框。不过,我们还有更好的办法来解决这个难
                                              题,并不需要添加无用的额外元素来污染我们的结构。


                                              box-shadow 方案

                                                  目前为止,我们大多数人可能已经用过(或滥用过)box-shadow 来生
                                              成投影。不太为人所知的是,它还接受第四个参数(称作“扩张半径”),通
                                              过指定正值或负值,可以让投影面积加大或者减小。一个正值的扩张半径加
                    图 2-5                     上两个为零的偏移量以及为零的模糊值,得到的“投影”其实就像一道实线
                    用 box-shadow 来模拟外框        边框(参见图 2-5):



                   20   第 2 章 背景与边框







          ඀ࠡ  JOEC
   46   47   48   49   50   51   52   53   54   55   56