为边框应用图片 border-image

为边框应用图片 border-image

顾名思义就是为边框应用背景图片,它和我们常用的background属性比较相似。例如:

background:url(xx.jpg) 10px 20px no-repeat;

但是又比背景图片复杂一些。

想象一下:一个矩形,有四个边框。如果应用了边框图片,图片该怎么分布呢? 图片会自动被切割分成四等分。用于四个边框。

可以理解为它是一个切片工具,会自动把用做边框的图片切割。怎么切割呢?为了方便理解,做了一张特殊的图片,由9个矩形(70*70像素)拼成的一张图(210*210像素),并标注好序号,是不是像传说中的九宫图,如下:

我们把上图当作边框图片 来应用一下, 看一看是什么效果

根据border-image的语法:

#border-image{
   background:#F4FFFA;
   width:210px; height:210px; border:70px solid #ddd;
   border-image:url(borderimg.png) 70 repeat  
}

效果:

从序号可以看出div的四个角分别对应了背景图片的四个角。而2,4,6,8 被重复。5在哪?因为是从四周向中心切割图片的所以,5显示不出来。而在chrome浏览器中5是存在的,下图的样子:



repeat的意思就是重复,目前因为是刚好被整除,效果看不出来。如果改下DIV的宽高,再来看重复的效果:

边角部分为裁掉了,可见repeat就是一直重复,然后超出部分剪裁掉,而且是居中开始重复。

Round 参数:Round可以理解为圆满的铺满。为了实现圆满所以会压缩(或拉伸);

#border-image {

     width:170px;

     height:170px;

     border:70px solid;

     border-image:url(borderimg.png) 70 round;

 }

效果:

可见图片被压扁了。

Stretch 很好理解就是拉伸,有多长拉多长。有多远“滚”多远。

border-image:url(borderimg.png) 70 stretch

看一下效果:

2,4,6,8分别被拉伸显示。

注意:Chrome下,中间部分也会被拉伸,webkit浏览器对于round属性和repeat属性似乎没有区分,显示效果是一样的。

Firefox 26.0 下是可以准确区分的。

时间: 2024-10-11 06:30:11

为边框应用图片 border-image的相关文章

iOS开发Quzrtz2D 十:圆形图片的绘制以及加边框圆形图片的绘制

一:圆形图片的绘制 @interface ViewController () @property (weak, nonatomic) IBOutlet UIImageView *imageV; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; /** * UIBezierPath:绘制路径,就是根据路径对图形上下文进行构造 */ //0.加载图片 UIImage *image = [UII

【CSS3】---为边框应用图片 border-image

为边框应用图片 border-image 顾名思义就是为边框应用背景图片,它和我们常用的background属性比较相似.例如: background:url(xx.jpg) 10px 20px no-repeat; 但是又比背景图片复杂一些. 想象一下:一个矩形,有四个边框.如果应用了边框图片,图片该怎么分布呢? 图片会自动被切割分成四等分.用于四个边框. 可以理解为它是一个切片工具,会自动把用做边框的图片切割.怎么切割呢?为了方便理解,做了一张特殊的图片,由9个矩形(70*70像素)拼成的一

QT模态对话框用法(在UI文件中设置Widget背景图,这个图是一个带阴影边框的图片——酷)

QT弹出模态对话框做法: 1.新建UI文件时,一定要选择基类是QDialog的,我的选择是:Dialog without Buttons(),如下图: 2.然后在使用的时候: MyDialog dlg(this); dlg.exec(); 如果不加this,则会在任务管理器里面产生一个新的EXE. 3.如果对话框的标题是自定义,不想使用系统的标题,这时候需要在代码中加入: setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint ); setAttr

CSS盒模型--边框设置:border: 1px solid red(像素 样式 颜色 ),border-bottom:1px dotted #ccc

盒模型--边框(一) 盒子模型的边框就是围绕着内容及补白的线,这条线你可以设置它的粗细.样式和颜色(边框三个属性). 如下面代码为div来设置边框粗细为2px.样式为实心的.颜色为红色的边框: div{ border:2px solid red; } 上面是border代码的缩写形式,可以分开写: div{ border-width:2px; border-style:solid; border-color:red; } 注意: 1.border-style(边框样式)常见样式有: dashed

OpenCV2.4.10之samples_cpp_tutorial-code_learn-----ImgTrans(图片边框与图片卷积)

本系列学习笔记参考自OpenCV2.4.10之 opencv\sources\samples\cpp\tutorial_code和 http://www.opencv.org.cn/opencvdoc/2.3.2/html/genindex.html 本博文将继续介绍如何给一张图片添加边框以及如何对一张图片进行卷积.核心函数为copyMakeBorder与filter2D 1.copyMakeBorder_demo.cpp(图片边框) 源码如下: #include "stdafx.h"

带有边框的图片裁剪

具体实现思路:     1.假设边框宽度为BorderW     2.开启的图片上下文的尺寸就应该是原始图片的宽高分别加上两倍的BorderW,这样开启的目的是为了不让原始图片变形.     3.在上下文上面添加一个圆形填充路径.位置从0,0点开始,宽高和上下文尺寸一样大.设置颜色为要设置的边框颜色.     4.继续在上下文上面添加一个圆形路径,这个路径为裁剪路径.       它的x,y分别从BorderW这个点开始.宽度和高度分别和原始图片的宽高一样大.       将绘制的这个路径设为裁

H5 边框:带border的百分比布局

响应式Web设计经常需要我们通过百分比设置组件宽度.如果我们不考虑边框,那么很容易就可以实现,但如果你给每一列以及总宽度都采用百分比设置,那这个时候固定的边框大小就会出来捣乱.下面我们将看到一组方法去解决这个问题,你会学到如何创建一个流式布局,而不用担心额外的边框以及内边距. 假设我们需要一个五列的布局.我们要考虑的第一件事就是外边距(margins).假设所有的列都需要4%的外边距,我们需要为所有的外边距保留20%(4%*5(5列)=20%)的占宽比:然后我们从总宽比(100%)里面减去20%

CSS .css边框属性(border)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>边框属性</title> <style> /*.box{ height: 100px; width: 100px; background-color: #3385ff; border-top:1px double #000; border-rig

第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提供了一个新的属性集合,用这几个属性可以嵌入图片形式的边框.这样