您现在的位置是:网站首页> 编程资料编程资料
深入浅析css3 border-image边框图像详解在线CSS边框圆角效果代码工具css3图片边框border-image的用法使用CSS的border属性构建变形边框的方法总结border-radius以外的CSS圆角边框制作方法详解CSS的border边框属性及其在CSS3中的新特性CSS3之边框多颜色Border-color属性使用示例一文教你玩转CSS border(边框)
2021-09-05
984人已围观
简介 css3中新增了一个属性 border-image ,这个属性允许开发者使用图片来定义边框,扩充了 CSS2 中仅有的几个预定义边框样式(border-style)。本文给大家介绍css3 border-image边框图像详解,感兴趣的朋友一起学习吧
我的作风:首先给大家作自我介绍
hello,大家好,我叫小黑,也叫xiaoho,目前喜欢并从事写页面。因为不喜欢在那些类似BBS型的论坛上发帖,所以之前在 html-js 上发表几篇戳文,现在申请了前端观察打字员,在这里谢谢神飞童鞋,虽然我不懂他是干嘛的~不过为什么选择在这里发表文章的缘由就是下面这句话:
向来中国的前端开发领域,就像一盘散沙一样,每个人每个站都各自为营,高手就像就像天空的星星一样多,但是他们的成就却很少广为传播,初学者却苦于在大海一样的设计中寻找自己的参考。
我非圣人,我只是把我自己所学所想的表达出来,毕竟个人想法有限,假如有悖论或者冒犯之处,还请拍砖,大家一起在争论中提高。还有,也许你们可能也会奇怪,为什么网上有这么一大把的学习的文章,类似的文章还要自己写出来,我的个人想法是:只有自己亲自去实践过才有发言权。 那么问题来了:怎么对我的言语进行反驳呢?在评论中猛戳!
前言
对于这个border-image属性已经不是什么新奇的事情了,也是一个老生长谈的话题。这是属性从很多年前已经出现了,但一直形单影只的,似乎不被看好,但是假如你对此深入研究之,想必其用处还是多多,不过很可惜到目前为止对于浏览器支持还不比其他css3属性多,特别是IE,只有IE11以上才支持,详情请移步 border-image兼容性 。不过很好,对于纯正的现代浏览器和移动浏览器支持度还是非常牛逼哄哄的,所以今天就来详解一下这个属性的各个值。
border-image摘要
其实我[border-image属性]是用来给元素边框添加背景图像,在某些时候,利用这个 border-image 可以轻松绘制一些比较复杂的小部件。并且我是 border-image-source border-image-slice border-image-width border-image-outset border-image-repeat 的简写值。只不过为了方便简写,毕竟你懂得,我们家族 border-* 都是有简写值,假如作为新生儿没有,那看的人估计都醉了。
哦,对了,忘记跟你说了,我的作用就是用来代替 border-style 值的。值得注意的是假如 border-image 值是none的话,那么背景图像将不会显示,同时, 将会显示 border-style 的值。 那么我的详细简写值如下所示:
属性名称: | border-image |
---|---|
值: | <‘border-image-source’> || <‘border-image-slice’> [ / <‘border-image-width’> | / <‘border-image-width’>? / <‘border-image-outset’> ]? ||<‘border-image-repeat’> |
初始值: | 详见各个属性 |
应用于: | 所有元素,除表单元格 border-collapse 是 collapse外. |
是否继承: | 否 |
百分比: | N/A |
媒体: | visual |
计算值: | 详见各个属性 |
动画: | 详见各个属性 |
.border-image-all{ border:27px solid #000; border-image:url(http://img.xiaoho.com/2014/09/border.png) 27 27 27 27 fill/27 27 27 27/27px 27px 27px 27px repeat;}
如你所见,这正是我的一个简写值。请不要头晕哦,虽然是一长串的各种英文单词,但是你对我恐怕也不陌生哒 QQ表情可爱
,想想css属性当中有哪些是跟图片相关的,反正我是想到了 background 属性值了。css当中引入图像的属性的属性值不外乎有:图片地址 background-image 、图片重复 background-repeat 、图片平铺方式 background-attachment 等。因此对于边框图像也是大同小异滴啦。下面我们就一一分析这些单独的属性值。
border-image有六大属性值,分别是:图片地址 border-image-source 、图片切片 border-image-slice 、图片宽度 border-image-width 、图片外凸 border-image-outset 、图片重复 border-image-repeat
图片地址border-image-source
属性名称: | border-image-source |
---|---|
值: | none | |
初始值: | none |
.border-image{
border:20px solid #000;
border-image-source:url(border.png); //目测我会长得很丑比 ~ .~,不信你试试
}
图片切片border-image-slice
属性名称: | border-image-slice |
---|---|
值: | [ |
初始值: | none |
第一个值为number,即纯数字作为单位计量,如1,2,3…;第二个值为percentage,即百分比作为单位;{1,4}表示前面的数字最少出现一次,最多出现4次,如 border-image-slice:27 border-image-slice:27 27 border-image-slice:27 27 27 border-image-slice:27 27 27 27 都是可以的,这个和 margin 的值大同小异,假如你还不懂这些缩写值具体代表什么,那么你不妨去看看前段时间写的一篇关于 margin的简写值 ,fill为可选属性值,假如指定,那么中间第九块不是透明块,假如不指定,那么为透明图片处理。
你们一定是很好奇,我具体是怎么工作机制的呢,就算csser指定了几个数字上去,但是压根就不懂他是怎么工作的,那就呵呵啦。所以下面带来详解:
图片用了w3c指定专用产品~一个81px的正方形位图,9个菱形图案,每个菱形图案为27*27px
左上角、右上角、右下角、左下角为4个橙色菱形,顶部区域、右侧区域、底部区域、左侧区域为4个土黄菱形,中间块(贱称第九区)为透明块。刚刚也说过了,这个border-image-slice就是一个切片的作用,把图像直接切开,中间不留痕迹,假如给定这个属性值: border-image-slice:27 27 27 27 那么它代表的意思是距离顶部内偏移区域27px处横切一刀
接着距离右侧内偏移区域27px竖切一刀
紧接着距离底部内偏移区域27px横切一刀
接着距离左侧内偏移区域27px竖切一刀
那么给定图像切片 border-image-slice:27 27 27 27 完整动态图如下:
这几刀下来把我分成了9个部分,因此我被9宫格也就此由来
所以被切割的部位都分布在盒子边框这9个地方,如上所示。对应的,被分隔的图像只能在边框宽度(border-width)内活动,什么意思呢,比如盒子边框为 border-width:54px 分割图片为 border-image-slice:27 ,因为图像4个顶角的宽度和高度都只有27px,但是盒子的边框是54px,因此图片就要被水平方向和垂直方向拉伸到切好跟盒子边框宽度等同,即27px的图像拉伸到54px停止,再往前就不行了!这点上,跟 鑫哥 的解释有点不太一样,因为他觉得这个是视觉中盲点,被分隔的顶角图像只是分配到边框的4个顶角,不会平铺,不会重复、不会拉伸(这点跟我说得不符合),引用原文如下:
橙红色的四个边角的菱形区域称为“角边框图片”,在border-image中,角边框图片是没有任何展示效果的,不会平铺,不会重
相关内容
- 基于css3 animate制作绚丽的动画效果Animate.css拥有多款文字特效的css3动画库效果源码css3强大的动画效果animate使用说明及浏览器兼容介绍
- 基于Jquery和Css3代码制作可以缩放的搜索框CSS3 制作的悬停缩放特效一款jQuery+CSS3实现的动态缩放焦点图代码CSS3鼠标悬浮过渡缩放效果
- 基于CSS3实现图片模糊过滤效果纯css3实现的鼠标悬停放大图片,同时其他图片模糊效果源码HTML5和CSS3炫酷图片运动模糊和倾斜特效源码CSS3图片模糊效果源码CSS设置背景图片模糊内容不模糊的解决方法
- CSS 实现div宽度根据内容自适应 独行DIV自适应宽度布局CSS实例与应用范围CSS min-height IE6、IE7、FF下DIV自适应高度设置DIV最小高度以及高度自适应随着内容的变化而变化
- 我就是要用CSS实现九宫格图HTML5+CSS3实现的图片多种滤镜特效源码深入浅析css3 border-image边框图像详解纯CSS3实现扁平风格的图标特效源码CSS3+jQuery实现的时尚大气全屏立体焦点图特效源码CSS3图片可展开扇形效果的层叠展开特效源码基于jquery+css3实现的通栏响应式图片轮播动画特效源码纯CSS3实现天气动画图标特效源码css3使网页、图片变成灰色兼容大多数浏览器纯CSS3实现的百叶窗图片切换效果源码一款精美清新的CSS3小图标菜单导航
- CSS icon图标之纯CSS实现带动画效果的天气图标 css3使用svg实现天气预报图标动画特效源码CSS3实现带动画的天气icon图标特效源码纯CSS3实现的动态天气小图标特效源码纯CSS3实现天气动画图标特效源码纯css实现乌云密布的天气图标效果
- CSS3+Sprite实现僵尸行走动画特效源码 CSS3 steps属性制作僵尸行Sprite动画特效源码纯CSS3实现的人物行走动画特效源码
- 结合CSS3的布局新特征谈谈常见布局方法CSS3哪些新特性值得称赞
- css3 border旋转时的动画应用CSS border虚线边框属性教程CSS中使用border来创建三角形的基本方法讲解CSS3 flex布局之快速实现BorderLayout布局深入浅析css3 border-image边框图像详解实例讲解CSS3中的border-radius属性详解CSS3中border-image的使用CSS3使用border-radius属性制作圆角css border属性的使用方法和技巧
- css实现鼠标滑过五角星高亮效果 纯CSS3实现鼠标滑过按钮动画第二节CSS实现鼠标滑过鼠标点击代码写法CSS3制作炫酷带方向感应的鼠标滑过图片3D动画纯CSS3实现8组超炫酷鼠标滑过图片动画纯CSS实现鼠标滑过显示子菜单的二级菜单效果CSS实现鼠标滑过文字弹出一段说明文字无JS代码纯css实现鼠标滑过弹出层效果CSS控制当鼠标滑过时更换图片的效果css实现鼠标滑过改变文字(中文变英文)使用css的filter写鼠标滑过效果的实现示例