border-image 边框图片这个属性的兼容性不是很好,所以在正常的前端开发工作中很难用到,但是在不考虑兼容性的情况下,它无疑的一个很强大的属性,因为它可以自定义漂亮的边框,而不在是单调的线条。 1. 官方解释CSS 属性允许在元素的边框上绘制图像。这使得绘制复杂的外观组件更加简单,也不用在某些情况下使用九宫格了。使用 border-image 时,其将会替换掉 border-style 属性所设置的边框样式。虽然规范要求使用 border-image 时边框样式必须存在,但一些浏览器可能没有实现这一点。 2. 解释通过 border-image 属性可以给元素添加自定义得而边框样式,而不单单是系统提供的那几种。换句话说就是我们可以自定义一个图片来充当元素的边框对它进行环绕。 3. 语法border-image:source slice repeat; 包含属性
4. 实例
.demo{ width: px; height: px; background: #ccc; border-width: px; border-style: solid; border-image: url(./../img/border-image.jpg); } 效果图 我们这使用的是 bordr-image 这个属性,并定义了图片路径 其它的不设定使用默认值。
.demo2{ width: px; height: px; background: #ccc; border-width: px; border-style: solid; border-image-source: url(./../img/border-image.jpg); } 效果图 我们可以看到 例1 和 例2 两个图是一样的,因为我们仅仅使用了 border-image-source 增加了图片路径而已。
.demo2{ width: px; height: px; background: #ccc; border-width: px; border-style: solid; border-image-source: url(./../img/border-image.jpg); border-image-slice: ; } 效果图 通过给 slice 设定一个 70 我们得到了一个漂亮的边框,下面重点说下这个属性值是如何作用在边框图片上的。 .demo2{ width: px; height: px; background: #ccc; border-width: px; border-style: solid; border-image-source: url(./../img/border-image.jpg); border-image-slice:; border-image-outset:px; } 效果图 从效果图中的红色箭头我们可以看到,边框图片和灰色元素之间有一条 2px 的白线,这是因为我设置了 image-outset 向外偏移 了 22px 的原因。
.demo2{ width: px; height: px; background: #ccc; border-width: px; border-style: solid; border-image-source: url(./../img/border-image.jpg); border-image-slice:; border-image-outset:px; border-image-repeat: repeat; } 效果图 通过效果图我们可以看到图片是以平铺重复的方式来填充的,而这个属性默认是 stretch 拉伸来填充图片的。这个属性还有以下值
5. 兼容性
6. 经验分享
.demo{ border-width:px; border-image-slice:; } 还有一点要注意的是 slice 不需要挂单位。 .demo{ -webkit-border-image: url(./../img/border-image.jpg) stretch; } 这是 border-imgae 的连写方式,第一个和第二个 20 都是 slice,认出它的最后方法就是 它们都不带单位。 7. 小结
|