爱奇思

学习就是——从糊涂中慢慢走向清醒,然后再从清醒中慢慢走向糊涂,所以说我说它是一个O,只是圆的半径慢慢的扩大罢了!
随笔 - 60, 文章 - 8, 评论 - 128, 阅读 - 12万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

css3_快速弄明白border-image

Posted on   牛牛博客  阅读(12310)  评论(4编辑  收藏  举报

在看这个属性时,好像国内的文章都没给大家说太明白,今天就一起说说

首先来一个素材图片whiteButton.png

 

然后我们要做成这样的效果:

 

代码(呵呵!请不要急,继续向下看):

 代码

复制代码
<div style="-webkit-border-image: url(images/whiteButton.png) 0 12 0 12 stretch stretch;
    -moz-border-image: url(images/whiteButton.png) 0 12 0 12 round stretch;
    border-image: url(images/whiteButton.png) 0 12 0 12 stretch stretch;
    display: block;
    width:600px;
    border-width:0 12px;
    padding:10px;
    text-align: center;
    font-size: 16px;
    text-decoration: inherit;
    color:white;+color:black;"
>在safari3+和FF3.5,chrome5.0+,opera10.53浏览器里能看到边框背景图</div>
复制代码

 下面我们来讲一下基本知识:

一。定义: border-image none | <image> [ <number> | <percentage>]{1,4} [ / <border-width>{1,4} ]? [ stretch | repeat | round ]{0,2}

 

none:
默认值。无背景图。
<image>
使用绝对或相对 url 地址指定背景图像。

 

 <number>

边框宽度用固定像素值表示。
<percentage>:
边框宽度用百分比表示。
[ stretch | repeat | round ]:

拉伸 | 重复 | 平铺 (其中stretch是默认值。)

请看下图平剖析一下css代码

 

也就是:

他们把图片,用#的方式截取,然后用 stretch | repeat | round 来控制水平或垂直的效果。看看下图你就明白了

  

 

 当然关于边框的宽度你也可以用%;其原理也是一样:

 

到这  大家应该弄明白border-image是怎么一回事了吧。

给大家 一些例子 练习

圆角

borderImage
border-width: 10px;
a source image to slice
border-image: url("media/roundedCorner.png") 20;


ninja!
border-width: 20px;
a source image to slice
border-image: url("media/border.png") 20;

Drop shadow

wooooosh
border-width: 10px;
a source image to slice
border-image: url("media/blackShadow.png") 5;

Tab

katanas
border-width: 15px 20px 0;
a source image to slice
border-image: url("media/tab.png") 20 20 0;


learn
to be
lazy
border-width: 10px 10px 0;
a source image to slice
border-image: url("media/gradient.png") 10 10 0;

多个按钮

hover & click
But not impossible.
a source image to slice a source image to slice a source image to slice
This one is tricky.

 参考文档:www.lrbabe.com/sdoms/borderImage/

ejohn.org/blog/border-image-in-firefox/ 

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示