第八十节,CSS3边框图片效果
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引擎下的浏览器会在盒子区块的四个角看到一丁点图像的影子。而其他浏览器什么都看不到。这是由于没有设置边框背景图像的宽度导致的。
p{
width: 400px;
height: 300px;
border-image-source: url(border.png);
}
<p>是一部由北青传媒股份</p>
border-image-width设置边框图像宽度,上右下左,可以设置四个值
这里设置的是边框图像的宽度,而不是边框宽度。当你设置边框宽度,你会发现,文本会偏移。而边框图像的宽度不会挤压文本。
p{
width: 400px;
height: 300px;
border-image-source: url(border.png);
border-image-width: 81px;
}
<p>是一部由北青传媒股份</p>
border-width设置边框的宽度
以上设置完毕后,支持边框背景图片的浏览器会在四个角落铺上这张图片的完整形式。这个时候需要通过引入切割属性来配置背景图片的显示方式。
p{
width: 400px;
height: 300px;
border-image-source: url(border.png);
border-image-width: 81px;
border-width: 20px;
}
<p>是一部由北青传媒股份</p>
border-image-slice设置切割属性的大小
这里的27不需要设置p 像素,因为它默认就是像素。设置27之后,我们会发现边框的四个角正好是橘红色的四个角。那么你可以逐步放大或逐步放下这个值,来体验一下它的变化。
p{
width: 400px;
height: 300px;
border-image-source: url(border.png);
border-image-width: 27px;
border-width: 20px;
border-image-slice:;
}
<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+
兼容加上前缀
p{
width: 400px;
height: 300px;
-webkit-border-image: url(border.png) 27/27px round;
-moz-border-image: url(border.png) 27/27px round;
-o-border-image: url(border.png) 27/27px round;
border-image: url(border.png) 27/27px round;
}
<p>是一部由北青传媒股份</p>
第八十节,CSS3边框图片效果的更多相关文章
- 第 23 章 CSS3 边框图片效果
学习要点: 1.属性初探 2.属性解释 3.简写和版本 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 中边框图片背景的效果,通过这个新属性让边框更加的丰富多彩. 一.属性解释 CSS3 提 ...
- 第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理
第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理 将一个app下的models数据库表注册到xadmin后台管理 重点 ...
- Retina视网膜屏中CSS3边框图片像素虚边的问题
虽然CSS3新增了这个功能,但是在W3school里面并没有给出具体详细的解释,还好网上不乏大神给你我们很全面的解释其中的原理-css3:border-image边框图像详解 边框图片的原理是四个角不 ...
- CSS3边框图片-像素虚边的问题
虽然CSS3新增了这个功能,但是在W3school里面并没有给出具体详细的解释,还好网上不乏大神给你我们很全面的解释其中的原理-css3:border-image边框图像详解 边框图片的原理是四个角不 ...
- CSS3旋转图片效果收集
火狐中文网图片效果: [http://i.firefoxchina.cn/?www.firefoxchina.cn] .news-img-wrapper:hover img { transfo ...
- CSS3边框图片属性---border-image
#div{ border:18px solid; border-image:url("http://img.mukewang.com/52e22a1c0001406e03040221.jpg ...
- 第一百八十节,jQuery-UI,知问前端--消息提示 UI
jQuery-UI,知问前端--消息提示 UI 学习要点: 1.HTML 部分 2.CSS 部分 3.jQuery 部分 通过前面已学的 jQuery UI 部件,我们来创建一个注册表单. html ...
- CSS3边框 圆角效果 border-radius
border-radius是向元素添加圆角边框 使用方法: border-radius:10px; /* 所有角都使用半径为10px的圆角 */ border-radius: 5px 5px 5px ...
- 第二百八十节,MySQL数据库-外键链表之一对多,多对多
MySQL数据库-外键链表之一对多,多对多 外键链表之一对多 外键链表:就是a表通过外键连接b表的主键,建立链表关系,需要注意的是a表外键字段类型,必须与要关联的b表的主键字段类型一致,否则无法创建索 ...
随机推荐
- 基于PaaS和SaaS研发的商业云平台实战 转 (今后所有的IT行业会持续集成,往虚拟化方向更快更深的发展,商业化才是这些技术的最终目的)
背景介绍 SaaS.PaaS.IaaS等云服务模式已经被大家普遍认可,在研发过程中借力一些PaaS和SaaS平台,能够提升产品的研发速度和功能稳定程度.本文将通过真实的商业平台案例-MaxWon研发实 ...
- 自定义底部导航栏(tabBar)
前言如果大家用过微信提供的tabBar就会发现,他的tabBar有很大的局限性.暂且不说样式局限性了,他提供的app.json配置文件中没有function.这也就意味着使用它提供的这个组件,你只能用 ...
- 抓包分析SIP消息
I. 实验环境 SIP服务器: Yate服务器, IP:port=10.15.3.34:5060 SIP客户端: 移植Sipdroid的Android网络电话软件, IP: 10.15.3.73, A ...
- 明天opp¥this xuexi 资料在高中一班
明天opp¥this xuexi 资料在高中一班
- Pos终端中的主密钥、工作密钥、pin密钥、mac密钥
下面介绍一下加密机中最主要的几种密钥: 1.加密机主密钥(MK) 加密机主密钥(Master Key - MK)是存入在HSM机内的由三个成分合成的一对最上层密钥.在HSM机器以外的地方不会以明文形式 ...
- Launchpad灰色图标怎么删除?重置Launchpad教程
打开终端,第一步输入:defaults write com.apple.dock ResetLaunchPad -bool true 按下return键 第二步输入:killall Dock 按下re ...
- ng动态显示和隐藏
<!DOCTYPE html><html><head><meta charset="utf-8"><script src=&q ...
- 在server2012安装tfs遇到的问题:KB2919355
参考资料:http://blog.csdn.net/wo_984633714/article/details/52869851 安装tfs2015的时候,提示需要安装KB2919355的更新.然后我就 ...
- DevExpress的SpinEdit控件无法输入数字的问题
今天在发布程序后突然发现了这个问题,刚开始很莫名其妙的,因为在调试时从来没碰到过.然后经过测试发现,这个问题的原因和输入法有很大关系: 当你的输入法是中文状态时,是无法向框中输入数字的,此时只能点击上 ...
- 编写CodeMirror Modes详解
在写新的模式(mode)之前,还是先来概括一下CodeMirror的设计思路.CodeMirror分为三部分:核心,模式,扩展.核心库对外开放了很多接口,而这些接口就是实现新模式或者新扩展的基石. 在 ...