第 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;
时间: 2024-08-02 02:51:00

第 23 章 CSS3 边框图片效果的相关文章

第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边框图片效果

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

CSS3 边框图片

CSS3 边框图片 通过 CSS3 的 border-image 属性,可以使用图片来创建边框:border-image是用来代替border-style的,即border的大小取决于. 而且有border-image的侧边就没有border-shadow的什么事.哈哈,他俩冲突.注意,border-image不占用页面位置(他是脱离文档流的!!!). - 实现原理 - 参数解析 - - 图片切片border-image-slice - - 边框图片宽度border-image-width -

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

提到边框,大家首先想到的是CSS的boder属性.不错,border属性是CSS种盒模型基础属性之一.在CSS3中,关于边框的运用会有什么样的不同之处呢?又将如何使用?本章我们带着这些问题开始我们的CSS3边框之旅. 3.1 CSS3边框简介 border属性在CSS1中就已经定义了,使用它可以设置元素的边框风格. 3.1.1 边框的基本属性 CSS1和CSS2中的边框属性确实很简单,其主要包括三个类型值. border-width:设置元素边框的粗细. border-color:设置元素边框的

《图解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标准写法拆分成四个边

CSS3旋转图片效果收集

火狐中文网图片效果: [http://i.firefoxchina.cn/?www.firefoxchina.cn] .news-img-wrapper:hover img { transform: rotate(5deg) scale(1.2); transition: all 0.3s linear 300ms; } 慕课网的图片效果: .course-content .course-list li .course-list-img img {    display: block;    t

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

3.4 CSS3圆角边框属性 在web页面上圆角效果很常见.圆角给页面增添曲线之美,让页面不那么生硬,但是为了设计圆角效果. 3.4.1 broder-radius 属性的语法及参数 语法: border-radius : none | <length>{1,4} [/ <length>{1,4} ]? border-radius是一种缩写方法.如果“/”前后的值都存在,那么“/”前面的值设置其水平半径,“/”后面值设置其垂直半径.如果没有“/”,则水平和垂直半径相等.另外其四个值

CSS3边框 圆角效果 border-radius

border-radius是向元素添加圆角边框 使用方法: border-radius:10px; /* 所有角都使用半径为10px的圆角 */ border-radius: 5px 5px 5px 5px; /* 四个半径值分别是左上角.右上角.右下角和左下角,顺时针 */ 不要以为border-radius的值只能用px单位,你还可以用百分比或者em,但兼容性目前还不太好. 实心上半圆: 方法:把高度(height)设为宽度(width)的一半,并且只设置左上角和右上角的半径与元素的高度一致