详解CSS3中border-image的使用


Posted in HTML / CSS onJuly 18, 2015

最近在项目中用到了border-image,一直是只知其名,不知其用。

最终效果是这样的:且随着border宽度变化。下图灰色部分带斜纹的是border
详解CSS3中border-image的使用

先看下css:

CSS Code复制内容到剪贴板
  1. border-width40px;   
  2. border-stylesolid;   
  3. border-image-source: url('http://das.alipay.net/shulaibao/img/repeat_padding_bg_400px.png');   
  4. border-image-slice: 40;   
  5. border-image-repeatrepeat;   
  6. background#fff;   
  7. width800px;  

首先它必须是和border一起用,如果border为none,它也无效
实际是替换border-style,当border-image-source或border-image无效时,border-style就会有效了

和background一样,border-image也有简写的写法

简写的语法:

CSS Code复制内容到剪贴板
  1. border-image:<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>  

如上所示,包含了5个属性,详细分解如下:

图片地址: border-image-source,很好理解,要么有要么没有

CSS Code复制内容到剪贴板
  1. border-image-source:url('') || none  

图片切片: border-image-slice,不太好理解,是实现效果的精华,它把border-image-source切割成9部分,俗称九宫格,4个角,4个边框,1个中间区域
详解CSS3中border-image的使用

语法: 

CSS Code复制内容到剪贴板
  1. [<number> | <percentage>]{1,4} && fill?   

 

 border-image-slice: slice  /* One-value syntax   */  E.g. border-image-slice: 30%;
 border-image-slice: horizontal vertical    /* Two-value syntax   */  E.g. border-image-slice: 10% 30%;
 border-image-slice: top vertical bottom    /* Three-value syntax */  E.g. border-image-slice: 30 30% 45;
 border-image-slice: top right bottom left  /* Four-value syntax  */  E.g. border-image-slice: 7 12 14 5;
 border-image-slice: … fill /* The fill value can be placed between any value */ E.g. border-image-slice: 10% fill 7 12;
 border-image-slice: inherit
 值只能是写数值,百分比(相对图片的宽度或高度),而长度(px,em等)是不允许的且无效

图片宽度: border-image-width 代替border width
图片外凸: border-image-outset
图片重复: border-image-repeat,背景是否重复,默认值为stretch(拉伸)

HTML / CSS 相关文章推荐
css3 transform及原生js实现鼠标拖动3D立方体旋转
Jun 20 HTML / CSS
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
Jan 23 HTML / CSS
详解H5本地储存Web Storage
Jul 03 HTML / CSS
html5 canvas绘制放射性渐变色效果
Jan 04 HTML / CSS
20佳惊艳的HTML5应用程序示例分享
May 03 HTML / CSS
详解HTML5中rel属性的prefetch预加载功能使用
May 06 HTML / CSS
html5使用Drag事件编辑器拖拽上传图片的示例代码
Aug 22 HTML / CSS
详解px单位html5响应式方案
Mar 08 HTML / CSS
移动端html5判断是否滚动到底部并且下拉加载
Nov 19 HTML / CSS
html5自定义video标签的海报与播放按钮功能
Dec 04 HTML / CSS
基于html5 canvas做批改作业的小插件
May 20 HTML / CSS
开发微信小程序之WXSS样式教程
Apr 18 HTML / CSS
CSS3中颜色线性渐变实战
Jul 18 #HTML / CSS
CSS3制作Dropdown下拉菜单的方法
Jul 18 #HTML / CSS
使用CSS3来绘制一个月食图案
Jul 18 #HTML / CSS
用CSS3绘制三角形的简单方法
Jul 17 #HTML / CSS
详解CSS3中Media Queries的相关使用
Jul 17 #HTML / CSS
CSS3中box-shadow的用法介绍
Jul 15 #HTML / CSS
举例详解CSS3中的Transition
Jul 15 #HTML / CSS
You might like
PHP统计目录下的文件总数及代码行数(去除注释及空行)
2011/01/17 PHP
PHP编程中的__clone()方法使用详解
2015/11/27 PHP
另类调用flash无须激活的方法
2006/12/27 Javascript
用函数式编程技术编写优美的 JavaScript_ibm
2008/05/16 Javascript
JS运行耗时操作的延时显示方法
2010/11/19 Javascript
javascript获取网页中指定节点的父节点、子节点的方法小结
2013/04/24 Javascript
网站如何做到完全不需要jQuery也可以满足简单需求
2013/06/27 Javascript
js下拉菜单语言选项简单实现
2013/09/23 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
100个不能错过的实用JS自定义函数
2014/03/05 Javascript
JavaScript实现点击按钮字体放大、缩小
2016/02/29 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
2016/05/04 Javascript
jquery层级选择器(匹配父元素下的子元素实现代码)
2016/09/05 Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
2018/03/08 Javascript
JavaScript实现的反序列化json字符串操作示例
2018/07/18 Javascript
vue-cli脚手架引入弹出层layer插件的几种方法
2019/06/24 Javascript
Node在Controller层进行数据校验的过程详解
2020/08/28 Javascript
原生js实现表格翻页和跳转
2020/09/29 Javascript
Python输出汉字字库及将文字转换为图片的方法
2016/06/04 Python
python 多线程串行和并行的实例
2019/02/22 Python
python isinstance函数用法详解
2020/02/13 Python
python tkinter 设置窗口大小不可缩放实例
2020/03/04 Python
Django与pyecharts结合的实例代码
2020/05/13 Python
泰国综合购物网站:Lazada泰国
2018/04/09 全球购物
Hotels.com越南:酒店预订
2019/10/29 全球购物
DTD的含义以及作用
2014/01/26 面试题
公积金单位接收函
2014/01/11 职场文书
《月球之谜》教学反思
2014/04/10 职场文书
卖车协议书范例
2014/09/16 职场文书
公务员政审材料
2014/12/23 职场文书
劳动保障个人工作总结
2015/03/04 职场文书
幼儿园庆元旦主持词
2015/07/06 职场文书
导游词之山东红叶谷
2019/10/31 职场文书
Python编程源码报错解决方法总结经验分享
2021/10/05 Python
python百行代码实现汉服圈图片爬取
2021/11/23 Python
简单聊一聊SQL注入及防止SQL注入
2022/03/23 MySQL