css揭密

第2章 背景与边框

1 半透明边框

background-clip: border-box(default) | padding-box

2 多重边框

box-shadow

box-shadow 的好处在于,它支持逗号分隔语法,我们 可以创建任意数量的投影。

唯一需要注意的是,box-shadow是层层叠加的,第一层投影位于最顶层,依次类推。

注意事项:

  • 投影的行为跟边框不完全一致,因为它不会影响布局,而且也不会 受到 box-sizing 属性的影响。不过,你还是可以通过内边距或外边距(这取决于投影是内嵌和还是外扩的)来额外模拟出边框所需要 占据的空间。

  • 上述方法所创建出的假“边框”出现在元素的外圈。它们并不会响 应鼠标事件,比如悬停或点击。如果这一点非常重要,你可以给 box-shadow属性加上inset关键字,来使投影绘制在元素的内圈。请注意,此时你需要增加额外的内边距来腾出足够的空隙。

outline 方案

在某些情况下,你可能只需要两层边框,那就可以先设置一层常规边 框,再加上 outline(描边)属性来产生外层的边框。这种方法的一大优点在于边框样式十分灵活,不像上面的 box-shadow 方案只能模拟实线边框(假设我们需要产生虚线边框效果,box-shadow 就没辙了)。