首頁  >  文章  >  web前端  >  css3中背景屬性中與邊框相關的屬性介紹

css3中背景屬性中與邊框相關的屬性介紹

不言
不言原創
2018-08-24 10:53:521998瀏覽

這篇文章帶給大家的內容是關於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;
}

相关推荐:

Background-related properties in HTML and CSS

Summary of new features of Css3: borders and background

CSS3 border attribute border_html/css_WEB-ITnose

以上是css3中背景屬性中與邊框相關的屬性介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn