第 23 章 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 //上面五个属性的简写方式
二.属性解释
要实现边框背景,我们对图片也有一定的要求,否则效果不能完全体现出来。图片可以通过九宫格的切分来了解它。我们使用 W3C 官网上教学的图片来讲解一下。

如上图所示,九宫格并不一定要求每一个格子大小都相同。当然,如果相同的话,制作边框背景就相对容易一点。比如如下这张图片:

首先,用 Photoshop 软件分析一下这个标准九宫格的总体大小和每个格子的大小。最终得出图片总大小为 81px 正方形,四个角的大小为 27px 的正方形,其余五个角也是 27px。
那么,第一步:先创建一个盒子区域,大小为 400x400 的矩形。然后设置引入边框图像。
//引入边框图像
border-image-source: url(border.png);
单单只有这句话,webkit 引擎下的浏览器会在盒子区块的四个角看到一丁点图像的影子。而其他浏览器什么都看不到。这是由于没有设置边框背景图像的宽度导致的。
//设置边框图像宽度,上右下左,可以设置四个值
border-image-width: 81px;
这里设置的是边框图像的宽度,而不是边框宽度。当你设置边框宽度,你会发现,文本会偏移。而边框图像的宽度不会挤压文本。
//设置边框的宽度
border-width: 20px;
以上设置完毕后,支持边框背景图片的浏览器会在四个角落铺上这张图片的完整形式。这个时候需要通过引入切割属性来配置背景图片的显示方式。
//首先,边框图像宽度设置为 27px 和一个单格宽高一致
border-image-width: 27px;
//设置切割属性的大小
border-image-slice: 27;
这里的 27 不需要设置 px 像素,因为它默认就是像素。设置 27 之后,我们会发现边框的四个角正好是橘红色的四个角。那么你可以逐步放大或逐步放下这个值,来体验一下它的变化。
//从 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;
如果想让边框背景向外扩张,那么可以进行扩张设置。
//向外扩张 20px,也可以是浮点值,比如 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: 10 fill;
border-image-repeat: stretch;
}
三.简写和版本
//border-image 简写格式很简单,具体如下:
border-image:<' border-image-source '> || <' border-image-slice '> [ /<' border-image-width '> | / <' border-image-width '>? / <' border-image-outset '> ]? || <' border-image-repeat '>
//以上是手册上摘录的,转换成实际格式如下:
border-image: url(border.png) 27/27px round;
对于支持的浏览器及版本如下表:
|
Opera |
Firefox |
Chrome |
Safari |
IE |
|
|
部分支持需带前缀 |
11.5~12.1 |
3.5 ~ 14 |
4 ~ 14 |
3.1 ~ 5.1 |
无 |
|
支持需带前缀 |
无 |
无 |
无 |
无 |
无 |
|
支持不带前缀 |
15+ |
15+ |
15+ |
6+ |
11.0+ |
//兼容加上前缀
-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;
第 23 章 CSS3 边框图片效果的更多相关文章
- 第八十节,CSS3边框图片效果
CSS3边框图片效果 学习要点: 1.属性初探 2.属性解释 3.简写和版本 本章主要探讨HTML5中CSS3中边框图片背景的效果,通过这个新属性让边框更加的丰富多彩. 一.属性解释 CSS3 ...
- 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 ...
- CSS3边框 圆角效果 border-radius
border-radius是向元素添加圆角边框 使用方法: border-radius:10px; /* 所有角都使用半径为10px的圆角 */ border-radius: 5px 5px 5px ...
- 第95天:CSS3 边框、背景和文字效果
1.CSS3边框: border-radius:CSS3圆角边框.在 CSS2 中添加圆角矩形需要技巧,我们必须为每个圆角使用不同的图片,在 CSS3 中,创建圆角是非常容易的,在 CSS3 中,bo ...
- HTML 学习笔记 CSS3 (边框)
CSS3边框 通过CSS3边框 你能够创建远角边框 向矩形边框添加阴影 使用图片来绘制边框 . CSS3的边框属性 主要包含以下几种 border-radius 边框圆角 box-shadow 边框阴 ...
- CSS3 边框
说明:CSS3完全向后兼容,因此不必改变现有的设计.浏览器通常支持CSS2 CSS3模块 CSS3被划分为模块: 选择器 框模型 背景和边框 文本效果 2D/3D 转换 动画 多列布局 用户界面 CS ...
随机推荐
- C#学习系列-this的使用
如有错误,欢迎指正. 1.代表当前类,在当前类中可使用this访问当前类成员变量和方法(需要注意的是 静态方法中不能使用this),也可用于参数传递,传递当前对象的引用. 下面贴代码: class P ...
- DOM_06之定时器、事件、cookie
1.定时器:①任务函数:函数结尾判断临界值:②启动定时器:a.周期性:timer=setInterval(任务函数,interval):b.一次性:timer=setTimeout(任务函数,wait ...
- socket编程的select模型
在掌握了socket相关的一些函数后,套接字编程还是比较简单的,日常工作中碰到很多的问题就是客户端/服务器模型中,如何让服务端在同一时间高效的处理多个客户端的连接,我们的处理办法可能会是在服务端不停的 ...
- 替换变量&和&&
替换变量可看作是占位符 一. 单个&符号替换 SQL语句中最基本.最普遍元素替换形式是单个&符号替换.&符号是用来在语句中指定替换变量的符号.当执行语句时,Oracle服务器处 ...
- 在IIS中部署ASP.NET 5应用程序遭遇的问题
用VS2015中创建了一个非常简单的ASP.NET5程序: 在Startup.cs中只输入一行代码: using System; using Microsoft.AspNet.Builder; usi ...
- Anti-If: The missing patterns--转
原文地址:http://code.joejag.com/2016/anti-if-the-missing-patterns.html Around 10 years ago I encountered ...
- Deep learning:四十一(Dropout简单理解)
前言 训练神经网络模型时,如果训练样本较少,为了防止模型过拟合,Dropout可以作为一种trikc供选择.Dropout是hintion最近2年提出的,源于其文章Improving neural n ...
- Waves – 赞!超炫交互体验的点击动画效果
Waves 点击效果的灵感来自于谷歌的材料设计,很容易使用.只需要引入 waves.min.css 和 waves.min.js 到 HTML 文件中可以使用了.采用 touchstart 与 tou ...
- 12个新潮的 HTML5 & CSS3 网站设计欣赏
响应式设计和基于 HTML5 & CSS3 编码的网站是为网站制作的理想解决方案. HTML5 & CSS3 制作出来的网站结构良好,有很多惊人的效果,并能够在任何设备上浏览. 今天, ...
- Hadoop入门学习笔记---part1
随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...