CSS3 边框图片

CSS3 边框图片

通过 CSS3 的 border-image 属性,可以使用图片来创建边框:border-image是用来代替border-style的,即border的大小取决于。

而且有border-image的侧边就没有border-shadow的什么事。哈哈,他俩冲突。注意,border-image不占用页面位置(他是脱离文档流的!!!)。

- 实现原理

- 参数解析

- - 图片切片border-image-slice

- - 边框图片宽度border-image-width

- - 边框图片外凸border-image-outset

- - 边框图片重复border-image-repeat


原理

首先,会将目标图片进行切分成9份,

图1

,然后将中间的那一份(序号为9)替换成目标元素中的内容。

参数解析

border-image-sourse

初始值是none,盒子边框就会应用 border-style 的值;

假如你想要设置一个外部链接地址的图片进来:

.boder {
       border:54px solid #000;
       border-image-source:url("../../upload/image/picture.png");//引入图片作为border
       width: 200px;
       height: 200px;
       }

图片切片border-image-slice

eg:border-image-slice:10 20 30 40;就则1号线为10,2号线为20,3号线为30,四号线为40.

就是说border-image-sourse引入的图片要进行切割才能放入作为border。设置border-image-slice:10 20 30 40;给图片按照图片所示来上4刀,就将图片切割成9块了。(图1中区域1由切割线1,4决定,区域2由切割线1,2决定,区域3由切割线2,3决定,区域4由切割线3,4决定,区域5由切割线1,2,4决定,区域6由切割线1,2,3决定,区域7由切割线2,3,4决定,区域8由切割线1,3,4决定,区域9由切割线1,2,3,4决定)

这是本宝宝用尽洪荒之力尝试出来滴!

边框图片宽度border-image-width

作用等同于元素本身的盒子的边框宽度border-width。假如指定了border-image-width,则border-width无效;假如不指定,那么图片边框宽度就由border-width来固定。

也就是由他来控制围绕元素的图片的大小。

在这里需要申明一点。border-image-slice是用来控制切割原图时对原图的处理,大小是相对与原图而言的。而border-image-width是控制原图切割完成之后放置到元素四周时,图片的缩放。

本来切割完成之后人家图片是张这样的:

然后,在设置了border-image-width之后就被拉伸了。

也就是说,我们现在为止(只设置slice与width)所看到的图片大小,先由切割线1,2,3,4切割出来,再由border-image-slice拉伸。

边框图片外凸border-image-outset

的作用就让边框背景延伸到盒子外。border-image-width是控制盒子边框的大小。看图:

  .boder {
      border:solid #000;
      border-image-source:url("../../upload/image/picture.png");
      border-image-width:50px;
      border-image-slice:27 27 27 27;
      border-image-outset: 20px;// 边框图片outset设置为20px,那么背景图将会从盒子最外边界向外上右下左各延伸20px。
      width: 100px;
      height: 100px;
      }

边框图片重复border-image-repeat

作用就让边框背景是否重复,默认值为stretch,是拉伸的意思,4个角4个区域分别做水平和垂直方向的拉伸,来填补边框的间隙;repeat是就是让4个角4个区域做完水平和垂直方向的复制图像,做CTRL+V运动,把边框之间的空隙填满;而round[环绕]是把4个角和4个区域分成均等区域,然后用背景图片切好能铺满整个边框空隙,不能多也不能少,正好合适。(这段是copy大神的话,但具体出处真的不记得了,sorry!)

stretch

为了当大家看清楚,接下来的图片我都是放两个相同的,只不过有一张使用阴影的形式将border-image的作用域标注了一下。

stretch就是拉伸的意思,4个角4个区域分别做水平和垂直方向的拉伸,来填补边框的间隙;只不过四个角1,2,3,4的高度与宽度同时做同比例缩放,而四个区域5,6,7,8都各自做单方向的拉伸。

 .boder {
      border:solid #000;
      border-image-source:url("../../upload/image/picture.png");
      border-image-width:50px;
      border-image-slice:27 27 27 27;
      border-image-repeat:stretch;
      width: 100px;
      height: 100px;
      }

repeat

repeat是就是让4个角4个区域做完水平和垂直方向的复制图像,做CTRL+V运动,把边框之间的空隙填满;

.boder {
    border:27px solid #000;
    border-image-source:url("../../upload/image/picture.png");
    border-image-slice:27;
    border-image-repeat: repeat;
    width: 100px;
    height: 100px;
      }

上图!

border四个角的大小为27*27(由border-width:27px),而图片四个角的大小也为27*27(由 border-image-slice:27;)。所以我们看到四个角的图片很正常。但上下左右周四条边由于原本图片四个区域大小为27*27,而border-width的四个区域为27*(100-27*2)(元素 width: 100px;height: 100px;)所以,四个区域做repeat处理。

round

而round[环绕]是把4个角和4个区域分成均等区域,然后用背景图片切好能铺满整个边框空隙,不能多也不能少,正好合适。

.boder {
    border:27px solid #000;
    border-image-source:url("../../upload/image/picture.png");
    border-image-slice:27;
    border-image-repeat: repeat;
    width: 100px;
    height: 100px;
      }

round 会自动调整尺寸,将图片的大小在slice操作基础上做伸缩,完整显示边框图片。

repeat 单纯平铺多余部分,不会将图片的大小在slice操作基础上做伸缩,图片会被“裁切”而不能完整显示。

时间: 2024-10-16 17:53:20

CSS3 边框图片的相关文章

第八十节,CSS3边框图片效果

CSS3边框图片效果 学习要点: 1.属性初探 2.属性解释 3.简写和版本 本章主要探讨HTML5中CSS3中边框图片背景的效果,通过这个新属性让边框更加的丰富多彩. 一.属性解释     CSS3提供了一个新的属性集合,用这几个属性可以嵌入图片形式的边框.这样,边框就可以自定义了.     1.border-image-source                      //引入背景图片地址     2.border-image-slice                        

第 23 章 CSS3 边框图片效果

学习要点: 1.属性初探 2.属性解释 3.简写和版本 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 中边框图片背景的效果,通过这个新属性让边框更加的丰富多彩. 一.属性解释 CSS3 提供了一个新的属性集合,用这几个属性可以嵌入图片形式的边框.这样,边框就可以自定义了. 1.border-image-source      //引入背景图片地址2.border-image-slice         //切割引入背景图片3.border-image-width       //边框

第23章 CSS边框图片效果

本章学习日后开发使用参考一下内容 https://www.qianduan.net/css3border-image-bian-kuang-tu-xiang-xiang-jie/ 或W3C 或者百度 未排版的PDF转WORD(不想排版了) 第 23章 CSS3边框图片效果学习要点:1.属性初探2.属性解释3.简写和版本 本章主要探讨 HTML5中 CSS3中边框图片背景的效果,通过这个新属性让边框更加的丰富多彩.一.属性解释CSS3提供了一个新的属性集合,用这几个属性可以嵌入图片形式的边框.这样

css3 border img 边框图片

摘自http://www.html-js.com/article/CSS3-tutorial-css3borderimage-frame-image-Xiangjie-on border-image摘要 其实我[border-image属性]是用来给元素边框添加背景图像,在某些时候,利用这个 border-image可以轻松绘制一些比较复杂的小部件.并且我是 border-image-source border-image-slice border-image-widthborder-image

从零开始学 Web 之 CSS3(四)边框图片,过渡

大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http://www.cnblogs.com/lvonve/ CSDN:https://blog.csdn.net/lvonve/ 在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目.现在就让我们一起进入 Web 前端学习的冒险之旅吧! 一.边框图片 边框

CSS3边框温故

1.简介:border属性在CSS1中就已经定义了,用来设置元素边框风格,设置不同的边框.颜色.粗细 2.基本属性,包括三个类型值:(1)border-width:设置元素边框的粗细,默认3~4px(2)border-color:设置元素边框的颜色,默认色就是字体颜色(3)border-style:设置元素边框的类型,默认[none]缩写语法:border:border-width border-style border-color;注:缩写后每个属性之间使用空格隔开,它们之间没有先后顺序 3.

《图解CSS3——第3章 CSS3边框-3》

3.3 CSS3图片边框属性 border-image效果在CSS2中,只有使用背景图片来制作,而且制作过程非常复杂,做完后也很难维护.如今CSS3中增添了一个图片边框的属性,能够模拟出background-image属性的功能,功能比background-image强大,我们可以使用border-image属性给任何元素(除border-collapse属性值为collapse的table元素之外)设置图片效果边框. 3.3.1 border-image属性的语法及参数 border-imag

《图解CSS3——第3章 CSS3边框-2》

3.2 CSS3边框颜色属性 3.2.1 border-color属性的语法及参数 border-color的语法看上去和CSS1中的完全相同,但为了避免与border-color属性的原功能发生冲突,CSS3在这个属性上做出了一定的修改.语法如下: border-color : [ <color> | transparent ] { 1, 4} | inherit 换句话说,如果使用border-color这种缩写语法,将不会有任何效果,必须将这个border-color标准写法拆分成四个边

[HTML] CSS3 边框

CSS3 边框 用CSS3,你可以创建圆角边框,添加阴影框,并作为边界的形象而不使用设计程序,如Photoshop. 在本章中,您将了解以下的边框属性: border-radius box-shadow border-image 浏览器支持 Internet Explorer 9+ 支持 border-radius 和 box-shadow. Firefox, Chrome, 和 Safari 支持所有最新的 border 属性. 注意: 前缀是-webkit-的Safari支持阴影边框. 前缀