CSS3边框图片效果

学习要点:
1.属性初探
2.属性解释
3.简写和版本

本章主要探讨HTML5中CSS3中边框图片背景的效果,通过这个新属性让边框更加的丰富多彩。

一.属性解释

    CSS3提供了一个新的属性集合,用这几个属性可以嵌入图片形式的边框。这样,边框就可以自定义了。

    1.border-image-source                      //引入背景图片地址

    2.border-image-slice                          //切割引入背景图片

    3.border-image-width                       //边框图片的宽度

    4.border-image-repeat                      //边框背景图片的排列方式

    5.border-image-outset                      //边框背景向外扩张

    6.border-image                                 //上面五个属性的简写方式

二.属性解释
要实现边框背景,我们对图片也有一定的要求,否则效果不能完全体现出来。图片可以通过九宫格的切分来了解它。

                                        

如上图所示,九宫格并不一定要求每一个格子大小都相同。当然,如果相同的话,制作边框背景就相对容易一点。首先,用Photoshop软件分析一下这个标准九宫格的总体大小和每个格子的大小。最终得出图片总大小为81p 正方形,四个角的大小为27p 的正方形,其余五个角也是27p 。那么,第一步:先创建一个盒子区域,大小为400x400的矩形。然后设置引入边框图像。

border-image-source引入边框图像

单单只有这句话,webkit引擎下的浏览器会在盒子区块的四个角看到一丁点图像的影子。而其他浏览器什么都看不到。这是由于没有设置边框背景图像的宽度导致的。

  1. p{
  2. width: 400px;
  3. height: 300px;
  4. border-image-source: url(border.png);
  5. }
  6.  
  7. <p>是一部由北青传媒股份</p>

border-image-width设置边框图像宽度,上右下左,可以设置四个值

这里设置的是边框图像的宽度,而不是边框宽度。当你设置边框宽度,你会发现,文本会偏移。而边框图像的宽度不会挤压文本。

  1. p{
  2. width: 400px;
  3. height: 300px;
  4. border-image-source: url(border.png);
  5. border-image-width: 81px;
  6. }
  7.  
  8. <p>是一部由北青传媒股份</p>

border-width设置边框的宽度

以上设置完毕后,支持边框背景图片的浏览器会在四个角落铺上这张图片的完整形式。这个时候需要通过引入切割属性来配置背景图片的显示方式。

  1. p{
  2. width: 400px;
  3. height: 300px;
  4. border-image-source: url(border.png);
  5. border-image-width: 81px;
  6. border-width: 20px;
  7. }
  8.  
  9. <p>是一部由北青传媒股份</p>

border-image-slice设置切割属性的大小

这里的27不需要设置p 像素,因为它默认就是像素。设置27之后,我们会发现边框的四个角正好是橘红色的四个角。那么你可以逐步放大或逐步放下这个值,来体验一下它的变化。 

  1. p{
  2. width: 400px;
  3. height: 300px;
  4. border-image-source: url(border.png);
  5. border-image-width: 27px;
  6. border-width: 20px;
  7. border-image-slice:;
  8. }
  9.  
  10. <p>是一部由北青传媒股份</p>

从27逐步放大到81,四个角都慢慢缩小,各自显示一个完整的图像

    border-image-slice: 81;

 

从27逐步缩小到0,发现四个角都慢慢变大,配合fill整体显示一个完整图像

    border-image-slice: 0 fill;

 

上面只是单独设置了一个像素表示四个边切割的大小,你也可以设置百分比、浮点值或者分别设置四个变的大小。

33.5%差不多27

    border-image-slice: 33.5%;

 

上下设置27,左右设置0

    border-image-slice: 27 0;

 

如果想让边框背景向外扩张,那么可以进行扩张设置。向外扩张20p ,也可以是浮点值,比如2.2

    border-image-outset: 20px;

 

四个角设定好之后,我们要设定四个变的显示排列方式。使用border-image-repeat 属性,有四个值提供使用,分别如下表:

         属性                                 说明

       stretch          指定用拉伸方式填充边框背景图。默认值。

       repeat                          指定用平铺方式来填充边框背景图。当图片碰到边界时,如果超过则被截断。

       round           指定用平铺方式来填充边框背景图。图片会根据边框的尺寸动态调整图片的大小,直至正好可以铺满整个边框。

    space           指定用平铺方式来填充边框背景图。图片会根据边框的尺寸动态调整图片的之间的间距,直至正好可以铺满整个边框。

拉伸方式填充,当然,通过上右下左设置四个边均可

    border-image-repeat: stretch;

 

平铺填充,超过则被截断

    border-image-repeat: repeat;

 

平铺填充,动态调整图片大小直至铺满

    border-image-repeat: round;

 

平铺填充,动态调整图片的间距直至铺满

    border-image-repeat: space;

 

另一个按钮的小例子

    div {

        width: 400px;

        height: 40px;

        border-image-source: url(button.png);

        border-image-width: 10px;

        border-image-slice: 10fill;

        border-image-repeat: stretch;

    }

三.简写和版本

    border-image: url(border.png) 27/27p round;

    对于支持的浏览器及版本如下表:

                             Opera          Firefo         Chrome        Safari          IE

     部分支持需带前缀     11.5~12.1          3.5 ~ 14             4 ~ 14                3.1~5.1                无

       支持需带前缀              无                       无                       无                         无                        无

       支持不带前缀             15+                    15+                    15+                      6+                   11.0+

兼容加上前缀 

  1. p{
  2. width: 400px;
  3. height: 300px;
  4. -webkit-border-image: url(border.png) 27/27px round;
  5. -moz-border-image: url(border.png) 27/27px round;
  6. -o-border-image: url(border.png) 27/27px round;
  7. border-image: url(border.png) 27/27px round;
  8. }
  9.  
  10. <p>是一部由北青传媒股份</p>

 

 

第八十节,CSS3边框图片效果的更多相关文章

  1. 第 23 章 CSS3 边框图片效果

    学习要点: 1.属性初探 2.属性解释 3.简写和版本 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 中边框图片背景的效果,通过这个新属性让边框更加的丰富多彩. 一.属性解释 CSS3 提 ...

  2. 第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理

    第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理 将一个app下的models数据库表注册到xadmin后台管理 重点 ...

  3. Retina视网膜屏中CSS3边框图片像素虚边的问题

    虽然CSS3新增了这个功能,但是在W3school里面并没有给出具体详细的解释,还好网上不乏大神给你我们很全面的解释其中的原理-css3:border-image边框图像详解 边框图片的原理是四个角不 ...

  4. CSS3边框图片-像素虚边的问题

    虽然CSS3新增了这个功能,但是在W3school里面并没有给出具体详细的解释,还好网上不乏大神给你我们很全面的解释其中的原理-css3:border-image边框图像详解 边框图片的原理是四个角不 ...

  5. CSS3旋转图片效果收集

    火狐中文网图片效果: [http://i.firefoxchina.cn/?www.firefoxchina.cn] .news-img-wrapper:hover img {     transfo ...

  6. CSS3边框图片属性---border-image

    #div{ border:18px solid; border-image:url("http://img.mukewang.com/52e22a1c0001406e03040221.jpg ...

  7. 第一百八十节,jQuery-UI,知问前端--消息提示 UI

    jQuery-UI,知问前端--消息提示 UI 学习要点: 1.HTML 部分 2.CSS 部分 3.jQuery 部分 通过前面已学的 jQuery UI 部件,我们来创建一个注册表单. html ...

  8. CSS3边框 圆角效果 border-radius

    border-radius是向元素添加圆角边框 使用方法: border-radius:10px; /* 所有角都使用半径为10px的圆角 */ border-radius: 5px 5px 5px ...

  9. 第二百八十节,MySQL数据库-外键链表之一对多,多对多

    MySQL数据库-外键链表之一对多,多对多 外键链表之一对多 外键链表:就是a表通过外键连接b表的主键,建立链表关系,需要注意的是a表外键字段类型,必须与要关联的b表的主键字段类型一致,否则无法创建索 ...

随机推荐

  1. CentOS7--iptables的配置

    在红帽RHEL7系统中firewalld服务取代了iptables服务,但依然可以使用iptables命令来管理内核的netfilter. iptables命令中则常见的控制类型有: ACCEPT:允 ...

  2. Linux CentOS7/RHEL7关闭ctrl+alt+delete功能键

            这是本人测试的经过,纯粹记录来看看,最终解决方法在最后面,中间讲的是遇到的一些坑,可以略过不看!!        本人操作经验,转载请表明出处:http://www.cnblogs.c ...

  3. linux上安装Jmeter

    一.首先,你的linux上要有jdk,没有的话请参考上一篇 http://www.cnblogs.com/bigshan-1/p/6242991.html 二.延续上篇的linux用户xiaoming ...

  4. HMM 前向后向算法(转)

    最近研究NLP颇感兴趣,但由于比较懒,所以只好找来网上别人的比较好的博客,备份一下,也方便自己以后方便查找(其实,一般是不会再回过头来看的,嘿嘿 -_-!!) 代码自己重新写了一遍,所以就不把原文代码 ...

  5. one hot encoding

    转自:http://blog.sina.com.cn/s/blog_5252f6ca0102uy47.html 问题由来 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值. 例如,考虑一下的 ...

  6. Ubuntu 16.04 samba相关配置

    samba是 SMB/CIFS网络协议的重新实现,它作为NFS的补充使得在Linux和Windows系统之间进行文件共享.打印更容易实现. 相关介绍: SAMBA套件: (1)samba:这个套件主要 ...

  7. canvas实现画板功能(渐变、动画、阴影...)

    刚刚在博客园落户了,希望能在这认识更多大神,希望能和大家交好朋友. 闲来无事,把以前用canvas写的画板代码改进了一番,用Html5提供的表单标签给其 加了一个选择颜色的功能,因此发现了该标签的一个 ...

  8. Front-End(二)——HTML

    本文主要对html迭代学习中的要点.冷点简述罗列. html之前也说过,主要为了描述页面的结构和内容,合理使用结构化的标签,<h1>.<div>等,有利于前端开发,也有利于搜索 ...

  9. Spring in Action --- 使用MockMvc时报异常

    今天在学习spring时模仿了书上的代码编写基于mockmvc的测试用例,但是运行时报 Error:(8, 8) java: 无法访问javax.servlet.ServletException   ...

  10. 在tableview的headerView中添加webView,webView自适应高度

    最近在项目中需要添加一个webView加载的页面,下面显示的是对这个webView所显示的内容的一个评论列表 ,列表要根据后台加载过来的HTML自适应的变化高度,tableview的cell在webV ...