首页 >web前端 >css教程 >css3中背景属性中与边框相关的属性介绍

css3中背景属性中与边框相关的属性介绍

不言
不言原创
2018-08-24 10:53:522035浏览

本篇文章给大家带来的内容是关于css3中背景属性中与边框相关的属性介绍 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

1 与背景相关的新增属性

background-clip:指定背景的显示范围。

background-origin:指定绘制背景图像时的起点。

background-size:指定背景中图像的尺寸。

background-break:指定内联元素的背景图像进行平铺时的循环方式。

注意:

Firefox浏览器:支持除了background-size属性之外的其他三个属性,需在属性前加上“-moz-”文字。使用background-break时需写“-moz-background-inline-policy”。

Safari、Google Chorme、Opera:支持除了background-break之外的其他三个属性,需在属性前加“”“-webkit-”文字。

2 指定背景的显示范围-background-clip属性

(1)背景的显示范围

CSS2:背景的显示范围是指内部补白之内的范围,不包括边框

CSS2.1乃至CSS3:背景的显示范围是指包括边框在内的范围。

(2)属性值

border:背景范围包括边框区域。

padding:背景范围不包括边框区域。

div.div1{
          -moz-background-clip:border;
         -webkit-background-clip:border;
}
div.div2{
          -moz-background-clip:padding;
         -webkit-background-clip:padding;
}

3 指定绘制背景图像时的起点-background-origin属性

(1)在绘制背景图像时,默认是从内容补白区域的左上角开始绘制的。

(2)值

border:从边框的左上角开始绘制

padding:从内容补白区域的左上角开始绘制

content:从内容的左上角开始绘制

(3)浏览器不同

Firefox:”-moz-background-origin”;

Safari、Chorme:“-webkit-background-origin”

(4)虽然将background-clip属性指定为padding的时候,边框点划线中点与点之间的图像不会显示,但是仍然可以通过将background-origin属性指定为border的方法来指定从边框的左上角开始绘制。

4 指定背景中图像的尺寸-background-size属性

(1)使用方法

background-size:图像元素的宽度 高度;

(2)浏览器支持:

到目前为止:Safari3、Chrome8 、Firefox4、Opera10浏览器支持该属性。 

(3)如果要维持图像的纵横比例,可以在设定图像宽度与高度时,将另一个参数设为auto

(4)只指定一个参数

浏览器中将该值作为宽度值,auto作为高度值进行处理。

(5)使用百分比的值作为参数

浏览器中将指定的百分比视为图像尺寸除以整个边框区域的尺寸后得出的百分比来处理

(6)contain关键字作为参数

这将把原始图像在维持纵横比的前提下自动方大或缩小,以使原始图像的宽度或高度完全等于元素的宽度或高度(确保图像能被完整显示在元素中)

(7)cover关键字作为参数

这会使原始图像在维持纵横比的前提下将背景图像自动缩放到填满元素内部,如果元素的长宽比例与原始图像的长宽比例不一致,那么多余部分将被剪去

5 新增的用于平铺背景图像的选择----space与round

(1)space

在水平方向或垂直方向平铺背景图像时并不裁减掉图像超出背景的部分,也不会调整背景图像尺寸,而是自动调整图像与图像之间的间距。

(2)round

在水平方向或垂直方向平铺背景图像时并不裁减掉图像超出背景的部分,而是会自动调整背景图像的尺寸

(3)浏览器支持

到目前为止:IE9以上、Chrome 、Opera浏览器支持该属性。 

div{
     background-repeat:space;//round
}

6 在一个元素中显示多个背景图像

在CSS3中可以在一个元素中显示多个背景图片,还可以将多个背景图片进行重叠显示,从而使得调整背景图像中所使用的素材变得更加容易。

div{
     background-image:url(flowe-red.png),url(flower-green.png),url(sky.png);
     background-repeat:no-repeat,repeat-x,no-repeat;
     background-position:3% 98%,85%,center center,top;
}

(1)使用background-image属性来指定图像文件的时候,指定的时候是按在浏览器中显示时图像叠放的顺序从上往下指定的,第一个图像文件是放在最上面的,最后指定的文件是放在最下面的。

(2)通过多个background-repeat属性与background-position属性的指定,可以单独指定背景图像中某个图像文件的平铺方式与放置位置。

(3)允许被多重指定并配合多个图像文件一起利用的属性如下:

background-image、background-repeat、background-position、background-size、background-clip、background-origin。

7 使用渐变色背景

CSS3中,支持对于元素指定渐变色背景。所谓渐变是指从一种颜色慢慢过渡到另一种颜色。渐变分为线性渐变与放射性渐变。

绘制线性渐变

background:linear-gradient(to bottom,orange,black)

使用linear-gradient函数实现线性渐变,函数中使用三个参数。

(1)第一个参数值:

to bottom:指定从上往下的渐变,默认渐变起点为元素顶端,渐变重点为元素底端。

to bottom right:指定从左上往右下的渐变,默认渐变起点为元素左上角,渐变终点为元素右下角。

to right:指定从左往右的渐变,默认渐变起点为元素左边,渐变重点为元素右边。

to up right:指定从左下往右上的渐变,默认渐变起点为元素左下角,渐变终点为元素右上角。

to up:指定从下往上的渐变,默认渐变起点为元素底端,渐变终点为元素顶端。

to up left:指定从右下往左上的渐变,默认渐变起点为元素右下角,渐变终点为元素左上角。

to left:指定从右往左的渐变,默认渐变起点为元素右边,渐变终点为原左边。

to bottom left:指定从右上往左下的渐变,默认渐变起点为元素右上角,渐变终点为元素左下角。

可指定一个角度,用于指定渐变线的旋转角度

(2)第二个参数值代表渐变的起点色,第三个参数代表渐变的终点色。

div{
    width:300px;
    height:300px;
    background:linear-gradient(to bottom,orange,black)//从顶端到底端、从桔色到黑色的线性渐变
}

(3)将第一个参数指定为一个角度,其作用为修改渐变线的角度

background:linear-gradient(30deg,orange,black);

如果角度为0,则渐变线的方向为从下往上,当角度增加时渐变线顺时针方向旋转。

(4)可以在起点色或终点色后边指定离渐变色起点或渐变色终点的偏离位置(不指定时默认值分别为0%及100%)

background:linear-gradient(to bottom,orange 20%,black 70%);

表示从p元素的顶端往下20%,即离元素顶端300(元素高度)*20%=60像素处开始渐变,一直渐变到离元素底端30%(100%-70%),即离元素底端300*30%=90像素处停止渐变。

(5)可以添加多个渐变的中间点

background:linear-gradient(to bottom,orange 0%,red 25%,yellow 50%,green 75%,black 100%);

绘制放射性渐变

background:radial-gradient(orange,black);

使用radial-gradient函数实现放射性渐变,函数使用两个参数,分别为渐变起点色与渐变终点色。

div{
     background:radial-gradient(orange,black);//从中心向外扩散,从桔色到黑色的放射性渐变;
}

(1)可以通过circle关键字ellipse关键字指定绘制渐变呈圆形向外扩散方式还是呈椭圆形向外扩散方式。

div{
     background:radial-gradient(circle,orange,black);//指定圆形渐变方式
}

(2)可以通过at关键字指定渐变起点位置

background:radial-gradient(
at 
left top,orange,black);

可指定如下选项值:

center center:从元素中心点向外扩散(默认选项值)

left top:从元素左上角向外扩散

center top:从元素顶部中央向外扩散

right top:从元素右上角向外扩散

right center:从元素右端中央向外扩散

right bottom:从元素右下角向外扩散

center bottom:从元素底部中央向外扩散

left bottom:从元素左上角向外扩散

坐标值:例如(30,50),从指定坐标点处向外扩散

background:radial-gradient(circle at center top,orange,black);
background:radial-gradient( at 130px 50px,orange,black);

(3)指定渐变尺寸

closest-side:可渐变到离渐变起点最的一条

farthest-side:可渐变到离渐变起点最的一条

closest-corner:可渐变到离渐变起点最的一个

farthest-corner:可渐变到离渐变起点最的一个

background:radial-gradient( ellipse closest-side at 130px 50px,orange,black);

(4)可通过对圆形渐变指定半径的方法指定渐变尺寸

background:radial-gradient( circle 95px at 130px 50px,orange,black);

(5)可通过对椭圆形渐变指定横向半径及纵向半径的方法指定渐变尺寸

background:radial-gradient( ellipse 
235px 95px at 130px 50px,orange,black);

(6)可通过添加多个渐变色并指定偏离百分比的方法在渐变起点与渐变终点中添加多个渐变中间点

background:radial-gradient( circle 130px at130px 50px,orange 0%,red 25%,yellow 50%,green 75%,black);

8 圆角边框的绘制

到目前为止:IE、Safari、Firefox、Opera、Chorme浏览器都支持这种绘制圆角边框的样式。

border-radius属性

在CSS3中,使用该属性指定好圆角的半径就可以绘制圆角边框了。

div{
   border:soild 5px blue;
    border-radius:20px;
}

(1)指定两个半径

在浏览器中,将第一个半径作为边框左上角与右下角圆半径来绘制,第二个半径作为边框右上角与左下角的圆半径来绘制

border-radius:40px 20px;

(2)不显示边框的时候

在CSS3中,如果使用了border-radius属性但是把边框设定为不显示的时候,浏览器将把背景的4个角绘制为圆角

div{
border:none;
border-radius:20px;
}

(3)修改边框种类的时候

使用border-radius属性后,不管边框是什么种类,都会将边框沿着圆角曲线进行绘制。

div{
border:dashed 5px blue;
border-radius:20px;
}

(4)绘制四个角不同半径的圆角边框

border-top-left-radius属性:指定左上角半径

border-top-right-radius属性:指定右上角半径

border-bottom-right-radius属性:指定右下角半径

border-bottom-left-radius属性:指定左下角半径

div{
border:dashed 5px blue;
border-top-left-radius:10px;//指定左上角半径
border-top-right-radius:20px;//指定右上角半径
border-bottom-right-radius:30px;//指定右下角半径
border-bottom-left-radius:40px;//指定左下角半径
}

9 使用图像边框

border-image属性

CSS3中增加了一个border-image属性,可以让元素的长度或宽度处于随时变化状态的边框统一使用一个图像文件进行绘制。。使用border-image属性,会让浏览器在显示图像边框时,自动将所使用到的图像分割为9部分进行处理,这样就不需要页面制作者另外进行人工处理了。另外,页面中也不需要因此而使用较多的元素。

(1)浏览器支持

到目前为止:IE、Safari、Firefox、Opera、Chorme浏览器都支持border-image属性的使用。

(2)使用方法

border-image:url(图像文件的路径) A B C D(该属性中至少必须指定5个参数)

A、B、C、 D:表示当浏览器自动把边框所使用到的图像进行分割时的上边距、右边距、下边距以及左边距。

div{
border:solid 5px;
border-image:url(borderimage.png) 18 18 18 18;
width:300px;
}

(3)使用border-image属性来指定边框宽度

CSS3中,除了可以使用border属性或border-width属性来指定边框的宽度外,还可以使用border-image属性来指定边框宽度。

border-image:url(图像文件的路径) A B C D/border-width

div{
border:solid;
border-image:url(borderimage.png) 18 18 18 18/10px;(指定为相同宽度)
//border-image:url(borderimage.png) 10/5px 10px 15px 20px;(四条边的边框指定为不同的宽度)
width:300px;
}

注意:在CSS3中,如果4个参数完全相同,可以只写一个参数,将其他三个参数省略。

(4)指定4条边中图像的显示方式

可以在border-image属性中指定元素4条边中的图像是以拉伸的方式进行显示,还是以平铺的方式进行显示,

border-image:url(图像文件的路径) A B C D/border-width topbottom leftright

      topbottom:表示元素的上下两条边中图像的显示方式

      leftright:表示元素的左右两条边中图像的显示方式

显示方式的值:

repeat:图像将以平铺的方式进行显示

stretch:图像将以拉伸的方式进行显示

round

div{
border-image:url(borderimage.png) 10/5px repeat strerch;
width:300px;
height:200px;
}

(5)使用背景图像

在使用border-image属性的时候,仍然可以正常使用背景图片,但是为了不让边框图像挡住背景图像,需要使用中间为透明的边框图像,否则背景图像就有可能被边框图像的中央挡住部分或全体。

div{
background-image:url(bk.png);
background-repeat:no-repeat;
border-image:url("borderimage.png") 20 20 20 20 /5px;
background-origin:border;
border-radius:18px;
width:711px;
height:404px;
}

相关推荐:

HTML与CSS中背景相关属性

Css3新特性总结之边框与背景

CSS3之边框属性border_html/css_WEB-ITnose

以上是css3中背景属性中与边框相关的属性介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn