CSS3 利用“box-shadow”属性结合“outline”制作“边框内圆角”

html-css013

CSS3 利用“box-shadow”属性结合“outline”制作“边框内圆角”,第1张

box-shadow:给元素块添加周边阴影效果。

语法:box-shadow: h-shadow v-shadow blur spread color inset

*还有另一种情况: box-shadow: 0 2px 2px #FECC84

当我们在色值前只写了三个数值的情况下,则第三个值是 blur (模糊距离)。

利用阴影属性,也可以实现外边框的效果:

当我们再为它添加一个 outline (轮廓),就会发现它实现了-边框内圆角:

* 关于为什么会这样:

outline的描边并不会跟着圆角走,因此显示为直角。

所以把这两者叠加到一起,box-shadow 则刚好填补描边与容器圆角之间的空隙。

*值得注意的是,box-shadow 阴影的大小值并不一定等于描边的宽度,它和圆角的大小有关系。所以只需要一个足够填补空隙的大小就可以了。事实上,制定一个等于描边宽度的值在某些浏览器中可能会渲染异常,所以,最好是稍小的值。

参考书籍: Lea Verou 《CSS揭秘》

圆角、阴影、渐变这些属性在各个浏览器的兼容效果都不是很好,渐变就更不容易了,我们通常都是用作图软件来实现(通常也很好实现)

兼容不好为什么还会有这些属性呢?

目前来说,低版本的浏览器的兼容效果都不是很好,高版本的浏览器都会实现不同的兼容效果,所以,存在有他的意义,在未来随着用户的需求越来越多,就会使用的越来越多,浏览器的兼容会变得越来越好,就类似W3C标准的出现一样。