项目需求是实现鼠标移到按钮上时,下方显示一张渐变的三角图片,于是想到使用border-image来实现。

实现要使用图片做边框背景我们至少需要border-image-source 以及 border-image-slice 、 border-style

border-image-source :通过url引入图片; eg.  border-image-source: linear-gradient(red, blue);//可实现渐变色的边框。

border-image-slice : top right bottom left;

border-image-width :图片宽度;

border-image-outset : 使边框图片向外偏移 (值没有单位的哦)

示例:

border-image-outset: 20;//图片向外偏移20
border-image-width: 20px;//图片宽度为20px(图片的原本尺寸为 20px * 17px )
border-image-slice: 0 0 0;//只在下边设置图片。其他的三个方向就不会有图片显示。
margin-bottom: px;//这一步特别重要,因为布局菜单组使用的 ul->li格式布局的,且鼠标点击按钮时,被选中的按钮下方才出现图片,否则不会出现;当时在项目中
没有使用margin-bottom属性,出现的图片没有完全脱离li,始终扒在li下方的border部分,与需求不符。且在IE和火狐浏览器中访问页面时,更是奇丑无比。

至此,才算基本上解决border-image在使用过程中只显示一方的问题。

除此之外,使用一个完整的边框图片作为边框加在div上面,需求又是另外一种:

当第一次将边框图像引入div时,完整的边框会呈现出等分的四个又像是复制后的缩小版,总之是四个分为两排显示,而我想要的是使之将整个div包裹住,于是有了下面的代码:

这样做的效果正常显示没问题,但是窗口或者div宽高变大即(easyui-window窗口可最大化)时,border_image属性展示的边框会显示不完全,也不会平铺或者重复布满整个window

border-image-source: url("xx/image/xx.png");
border-image-width: 800px;//边框图片的真实宽度;
border-image-slice: 340;//这个数值我也没弄明白为哈可以这么大;
border-image-outset: 10;//向外偏移10px,可使边框内部的内容不是那么紧凑
border-image-repeat: round;//该属性平铺,不拉伸也不重叠

border-image实现渐变色的边框:

border-image-source: linear-gradient(red, blue);
border-image-slice: 20;

于是又采用另外一种方式来引用border-image ,这种方式实现的border-image能够将window窗口包裹住,并且当拉大窗口或者最大化时border-image也随之拉大,只是采用的方式是重复平铺的方式(若是将border-image图片使用边框一样的图案,则不会感觉是重复边框的)

border: 15px solid transparent; //相当于边框的宽度,值越大边框宽度越宽,反之越窄
-webkit-border-image: url("../../../src/assets/image/table_border.png") 27 27 24 24 round;// 27 27 24 24分别表示边框在上、右、下、左四个方向上的偏移量
-moz-border-image: url("../../../src/assets/image/table_border.png") 27 27 24 24 round;
border-image: url("../../../src/assets/image/table_border.png") 27 27 24 24 round;
width: 800px;//图片的宽度
resize: both;//***有了此属性则使用的div内部右下角将出现一个小三角,表示可以随意拖动大小;要是没有该属性,则拉动窗口大小变化时,border_image不会随之
变化。或者说border-image显示不完整。

虽然在项目中完成了两个border-image的效果;实际上现在也是懵的。。。。。。。。api文档上面说的这个属性个人觉得卵用没得,模棱两可。。。

https://www.jianshu.com/p/6ca92208ae4f

css3——border-image属性的用法的更多相关文章

  1. CSS3中transform属性的用法

    有时候网站也要愚弄一下访客,比如愚人节.下面我给大家推荐个效果,就是整个页面左右颠倒了.css3 很强大,简单的几行代码就可以帮我们实现这个效果. view source   print? 01 &l ...

  2. css3中font-face属性的用法详解

    @font-face是CSS3中的一个模块,他主要是把自己定义的Web字体嵌入到你的网页中,随着@font-face模块的出现,我们在Web的开发中使用字体不怕只能使用Web安全字体,你们当中或许有许 ...

  3. CSS3 RGBA 属性高级用法

    这个属性的兼容问题比较简单,IE8已经支持这个属性,IE6和IE7也可以通过hack支持.RGBA和CSS2里的RBG属性差不多,只是RGBA属性多了一个透明度的定义,CSS3标准里对RGBA属性的解 ...

  4. css3的clip-path属性

    css3的clip-path属性 网上看到的都是因为2年前一个出名的网站引发了对该属性的研究.所以大概是2年前火了一阵子的属性.2016-09-10  23:54:00 直接开始总结它的用法: 2个基 ...

  5. CSS背景和CSS3背景background属性

    css背景属性用于定义HTML元素的背景 背景属性既可以为单个的单元设置背景,也可以为整个页面设置背景,可以对上述二者的任意组合设置背景,段落.文字.不同状态的链接.图像.内容区域修改其背景样式.设置 ...

  6. CSS3外轮廓属性

    外轮廓outline在页面中呈现的效果和边框border呈现的效果极其相似,但和元素边框border完全不同,外轮廓线不占用网页布局空间,不一定是矩形,外轮廓是属于一种动态样式,只有元素获取到焦点或者 ...

  7. css3动画2(transform用法)

    1.直接写在样式里,比如一个小箭头,transform:rotate(135deg)即可 2.写动画过程,@keyframes和transform和animation组合起来用 写在@keyframe ...

  8. css中table-layout:fixed 属性的用法

    table-layout:fixed 属性的用法:如果想要一个table固定大小,里面的文字强制换行(尤其是在一长串英文文本,并且中间无空格分隔的情况下),以达到使过长的文字 不撑破表格的目的,一般是 ...

  9. css3 的box-sizing属性理解

    * { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } 有时候在某些项目中 ...

  10. CSS3的box-sizing属性

    盒模型的宽度,在 IE5.x 以及 Quirks 模式的 IE6/7 中,将 border 与 padding 都包含在 width 之内 W3C标准中的盒模型宽度为内容宽度,不包括内边距paddin ...

随机推荐

  1. ftp服务器安装与配置

    ftp服务器安装与配置 1. ftp服务端的安装 1 如果之前配置过ftp服务器的还是之后配置的服务器,无法启动服务,那么基本是配置出现了错误,那么可先完全卸载后再进行安装.如果无法定位多半是镜像源的 ...

  2. Day 1 上午

    唉,上午就碰到一个开不了机的电脑,白白浪费了半个小时,真的难受QwQ POINT1 枚举 枚举也称作穷举,指的是从问题所有可能的解的集合中一一枚举各元素. 用题目中给定的检验条件判定哪些是无用的,哪些 ...

  3. BZOJ2655calc

    题目描述 一个序列a1,...,an是合法的,当且仅当:长度为给定的n.a1,...,an都是[1,A]中的整数.a1,...,an互不相等.一个序列的值定义为它里面所有数的乘积,即a1a2...an ...

  4. Ticwatch2_3G版省电优化

    设置 --> 网络与连接 --> 云消息同步(禁用) 设置 --> 声音与震动 --> 铃声与音量(静音) 设置 --> 声音与震动 --> 闹钟音量(静音) 设置 ...

  5. jdbc 连接各种数据库 CRUD

    一,jdbc简介 SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范(接口),称之为JDBC.这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接口,并通过jdbc加 ...

  6. java 数字左补齐0

    NumberFormat nf = NumberFormat.getInstance();        //设置是否使用分组        nf.setGroupingUsed(false);    ...

  7. sshpass-Linux命令之非交互SSH密码验证

    sshpass-Linux命令之非交互SSH密码验证 参考网址:https://www.cnblogs.com/chenlaichao/p/7727554.html ssh登陆不能在命令行中指定密码. ...

  8. 光刻技术的原理和EUV光刻技术前景

    本文转载自微信公众号 半导体技术天地, 链接 https://mp.weixin.qq.com/s/EEBkSQ_Yc8RYFO18VpO8ow

  9. IIS 常用命令

    Ø  简介 本文主要介绍 IIS 常用的命令,主要包含以下内容: 1.   IIS  重启方法 2.   站点重启方法 3.   应用程序池重启方法 1.   IIS 重启方法 1)   重启 IIS ...

  10. awk删除重复文件

    #!/bin/bash #查找并删除重复文件,每个文件只保留1份 ls -LS --time-style=long-iso | awk 'BEGIN { getline; getline; name1 ...