Page 41 - css揭秘
P. 41

hr {
                                                      height: .5em;
                                                      background: currentColor;
                                                  }

                                                  你可能已经注意到了,很多已有的属性也具有类似的行为。举例来
                                              说,如果你没有给边框指定颜色,它就会自动地从文本颜色那里得到颜
                                              色。这是因为 currentColor 本身就是很多 CSS 颜色属性的初始值,比如
                                              border-color 和 outline-color,以及 text-shadow 和 box-shadow 的颜
                                              色值,等等。
                                                  未来,我们在原生 CSS 中拥有处理颜色的函数后,currentColor 就会
                                              变得更加有用,因为我们可以用这些函数来产生其各种深浅明暗的变体。


                                                  3. 继承

                                                  尽管绝大多数开发者都知道有 inherit 这个关键字,但还是很容易遗
                                              忘它。inherit 可以用在任何 CSS 属性中,而且它总是绑定到父元素的计
                                              算值(对伪元素来说,则会取生成该伪元素的宿主元素)。举例来说,要把
                                              表单元素的字体设定为与页面的其他部分相同,你并不需要重复指定字体属
                                              性,只需利用 inherit 的特性即可:


                                                  input, select, button { font: inherit; }

                                                  与此类似,要把超链接的颜色设定为与页面中其他文本相同,还是要用
                                              inherit:

                                                  a { color: inherit; }

                                                  这个 inherit 关键字对于背景色同样非常有用。举个例子,在创建提
                    图 1-8
                                              示框的时候,你可能希望它的小箭头能够自动继承背景和边框的样式(参见
                    提示框的小箭头从父元素那里获
                    取了背景色和边框样式                图 1-8):

                                                  .callout { position: relative; }

                                                  .callout::before {
                                                      content: "";
                                                      position: absolute;
                                                      top: -.4em; left: 1em;
                                                      padding: .35em;
                                                      background: inherit;
                                                      border: inherit;
                                                      border-right: 0;
                                                      border-bottom: 0;
                                                      transform: rotate(45deg);
                                                  }







                   10   第 1 章 引言







          ඀ࠡ  JOEC
   36   37   38   39   40   41   42   43   44   45   46