css3——border-image属性的用法
项目需求是实现鼠标移到按钮上时,下方显示一张渐变的三角图片,于是想到使用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属性的用法的更多相关文章
- CSS3中transform属性的用法
有时候网站也要愚弄一下访客,比如愚人节.下面我给大家推荐个效果,就是整个页面左右颠倒了.css3 很强大,简单的几行代码就可以帮我们实现这个效果. view source print? 01 &l ...
- css3中font-face属性的用法详解
@font-face是CSS3中的一个模块,他主要是把自己定义的Web字体嵌入到你的网页中,随着@font-face模块的出现,我们在Web的开发中使用字体不怕只能使用Web安全字体,你们当中或许有许 ...
- CSS3 RGBA 属性高级用法
这个属性的兼容问题比较简单,IE8已经支持这个属性,IE6和IE7也可以通过hack支持.RGBA和CSS2里的RBG属性差不多,只是RGBA属性多了一个透明度的定义,CSS3标准里对RGBA属性的解 ...
- css3的clip-path属性
css3的clip-path属性 网上看到的都是因为2年前一个出名的网站引发了对该属性的研究.所以大概是2年前火了一阵子的属性.2016-09-10 23:54:00 直接开始总结它的用法: 2个基 ...
- CSS背景和CSS3背景background属性
css背景属性用于定义HTML元素的背景 背景属性既可以为单个的单元设置背景,也可以为整个页面设置背景,可以对上述二者的任意组合设置背景,段落.文字.不同状态的链接.图像.内容区域修改其背景样式.设置 ...
- CSS3外轮廓属性
外轮廓outline在页面中呈现的效果和边框border呈现的效果极其相似,但和元素边框border完全不同,外轮廓线不占用网页布局空间,不一定是矩形,外轮廓是属于一种动态样式,只有元素获取到焦点或者 ...
- css3动画2(transform用法)
1.直接写在样式里,比如一个小箭头,transform:rotate(135deg)即可 2.写动画过程,@keyframes和transform和animation组合起来用 写在@keyframe ...
- css中table-layout:fixed 属性的用法
table-layout:fixed 属性的用法:如果想要一个table固定大小,里面的文字强制换行(尤其是在一长串英文文本,并且中间无空格分隔的情况下),以达到使过长的文字 不撑破表格的目的,一般是 ...
- css3 的box-sizing属性理解
* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } 有时候在某些项目中 ...
- CSS3的box-sizing属性
盒模型的宽度,在 IE5.x 以及 Quirks 模式的 IE6/7 中,将 border 与 padding 都包含在 width 之内 W3C标准中的盒模型宽度为内容宽度,不包括内边距paddin ...
随机推荐
- 关于vue移动端的适配
http://blog.csdn.net/z1712636234/article/details/77881685
- magento-2.2.6-1VM环境镜像-沙箱 - - 完全隔离的环境
打包处理下载地址: 链接:https://pan.baidu.com/s/1HX0WjWEN8Wc-4TDvgEWMog 提取码:s2ls 官方下载 文档 BITNAMI MAGENTO堆栈虚拟机 B ...
- 【LOJ#3097】[SNOI2019]通信(费用流)
[LOJ#3097][SNOI2019]通信(费用流) 题面 LOJ 题解 暴力就直接连\(O(n^2)\)条边. 然后分治/主席树优化连边就行了. 抄zsy代码,zsy代码是真的短 #include ...
- CF487E Tourists--圆方树
既然有这条性质,这题就很简单了: \(可能在a->b的简单路径上的点集,就是圆方树上a->b路径上方点代表的点双的并集\) 对每一个方点维护一个\(multiset\),代表其在圆方树上子 ...
- ASP.NET and ADO.NET
1.ASP.NET ASP.NET是一个使用HTML.Css.JacaScript 和服务器脚本创建网页和网站的开发框架 ASP.NET支持 WebPages.MVC.WebForms三种开发模式 ...
- 关于std::cin阻塞事件循环以及控制台命令输入功能的方案;
如果将std::cin建立在主线程,将阻塞主线程的所有事件循环,因而要保证事件循环不受影响,需要将std::cin放到 子线程中.同时,如果要实现能够强制终止std::cin阻塞, 可以通过强制终止线 ...
- 一文了解Python的线程
问题 什么是线程? 如何创建.执行线程? 如何使用线程池ThreadPoolExecutor? 如何避免资源竞争问题? 如何使用Python中线程模块threading提供的常用工具? 目录 1. 什 ...
- 在思科路由器上配置AAA实验(Cisco PT)
1.拓扑图 Addressing Table 地址表 Device Interface IP Address Subnet Mask R1 Fa0/0 192.168.1.1 ...
- linux学习------磁盘性能测试
测试服务器 1核1G配置 下载后放在你想测试的目录下,执行preparefile.sh准备测试文件,完成后执行runTest.sh执行测试,等待测试结果完成. {sysbench_bin}> ...
- Laravel 5.7 使用 PHP artisan migrate 的问题
这是由于Laravel 默认使用 utf8mb4 字符, 包括支持在数据库存储「 表情」 . 如果你正在运行的 MySQL release 版本低于5.7.7 或 MariaDB release版本低 ...