DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS3基礎 >> 7.4 邊框背景border-image屬性
7.4 邊框背景border-image屬性
編輯:CSS3基礎     

一、border-image屬性簡介

在CSS入門教程中,我們學習了邊框樣式border-style,其中邊框只有實線、虛線、點狀線等幾種簡陋的形式。那假如我們想要為邊框添加漂亮的背景圖片,那該怎麼做呢?

在CSS3中,我們可以使用border-image屬性為邊框添加背景圖片。

語法:

說明:

從上面語法分析圖,我們可以看出,使用border-image屬性設置邊框背景圖片需要設置3種參數:

  • (1)圖片路徑;
  • (2)切割圖片的寬度(4條邊的寬度,依次為上邊、右邊、下邊、左邊,按照順時針方向,類似於border屬性的4條邊順序);
  • (3)圖片平鋪方式;

假如我們要把下面這張圖作為(90px×90px)元素邊框的背景圖片,應該怎麼做呢?(下面每個小方塊30px×30px)

舉例:

在線測試
 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>CSS3 border-image屬性</title>
    <style type="text/css">
    #div1
    {
        width:210px;
        height:150px;
        border:30px solid gray;
        border-image:url("../App_images/lesson/run_css3/border_img1.png") 30 repeat;
        -webkit-border-image:url("../App_images/lesson/run_css3/border_img1.png") 30 repeat;
        -moz-border-image:url("../App_images/lesson/run_css3/border_img1.png") 30 repeat;
    }
    </style>
</head>
<body>
    <div id="div1">
    </div>
</body>
</html>

在浏覽器預覽效果如下:

分析:

從上面預覽效果我們可以知道,位於4個角的數字1、3、7、9還是乖乖地位於4個角,然後邊框會不斷平鋪。但是,中部的數字5會平鋪填充。

當我們使用下圖作為背景圖片時,大家再次看看效果是怎樣的呢?

舉例:

在線測試
 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>CSS3 border-image屬性</title>
    <style type="text/css">
    #div1
    {
        width:210px;
        height:150px;
        border:30px solid gray;
        border-image:url("../App_images/lesson/run_css3/border_img2.png") 30 repeat;
        -webkit-border-image:url("../App_images/lesson/run_css3/border_img2.png") 30 repeat;
        -moz-border-image:url("../App_images/lesson/run_css3/border_img2.png") 30 repeat;
    }
    </style>
</head>
<body>
    <div id="div1">
    </div>
</body>
</html>

在浏覽器預覽效果如下:

分析:

大家仔細研究這兩個例子,自己感性去理解一下。

從上面兩個例子,使用border-image屬性為邊框添加背景時候,如果想要達到預期效果,我們需要注意以下2點:

(1)邊框的背景在制作時候,應該制作4條邊,中間部分需要挖空;

(2)邊框背景圖片的每條邊寬度跟對應的邊框寬度(border-wdith)應該相同;

二、邊框背景圖片延伸方式

從上面border-image屬性語法中可以看出,邊框背景圖片延伸方式共有3種。在這裡,我們同樣使用下面這種圖片作為邊框背景圖片:

1、重復repeat

舉例:

在線測試
 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>CSS3 border-image屬性</title>
    <style type="text/css">
    #div1
    {
        width:170px;
        height:110px;
        border:30px solid gray;
        border-image:url("../App_images/lesson/run_css3/border_img2.png") 30 repeat;
        -webkit-border-image:url("../App_images/lesson/run_css3/border_img2.png") 30 repeat;
        -moz-border-image:url("../App_images/lesson/run_css3/border_img2.png") 30 repeat;
    }
    </style>
</head>
<body>
    <div id="div1">
    </div>
</body>
</html>

在浏覽器預覽效果如下:

分析:

上述代碼使用的邊框背景圖片延伸方式為repeat。4條邊的小方塊會不斷重復,超出元素寬度或高度的部分將會被剪切掉。

2、鋪滿round

round可以理解為圓滿地鋪滿,為了實現圓滿,邊框圖片會壓縮或拉伸。

舉例:

在線測試
 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>CSS3 border-image屬性</title>
    <style type="text/css">
    #div1
    {
        width:170px;
        height:110px;
        border:30px solid gray;
        border-image:url("../App_images/lesson/run_css3/border_img2.png") 30 round;
        -webkit-border-image:url("../App_images/lesson/run_css3/border_img2.png") 30 round;
        -moz-border-image:url("../App_images/lesson/run_css3/border_img2.png") 30 round;
    }
    </style>
</head>
<body>
    <div id="div1">
    </div>
</body>
</html>

在浏覽器預覽效果如下:

分析:

這個例子跟repeat中的例子一樣,只是我們把repeat改為了round。其中,repeat會把超出寬度和高度的部分剪切掉,而round卻是拉伸或壓縮邊框部分以實現“圓滿”地平鋪。

3、拉伸stretch

stretch,指的是對邊框部分進行拉伸(不重復),有多長拉多長。

舉例:

在線測試
 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>CSS3 border-image屬性</title>
    <style type="text/css">
    #div1
    {
        width:170px;
        height:110px;
        border:30px solid gray;
        border-image:url("../App_images/lesson/run_css3/border_img2.png") 30 stretch;
        -webkit-border-image:url("../App_images/lesson/run_css3/border_img2.png") 30 stretch;
        -moz-border-image:url("../App_images/lesson/run_css3/border_img2.png") 30 stretch;
    }
    </style>
</head>
<body>
    <div id="div1">
    </div>
</body>
</html>

在浏覽器預覽效果如下:

三、border-image屬性派生的子屬性

為了能夠更加方便靈活定義邊框圖像,CSS3允許從border-image屬性派生出眾多的子屬性。

border-image屬性派生的子屬性(1) 子屬性 說明 border-image-source 定義邊框圖像來源地址 border-image-slice 定義如何裁切邊框圖像 border-image-repeat 定義邊框圖像重復屬性 border-image-width 定義邊框圖像大小 border-image-outset 定義邊框圖像的偏移位置 border-image屬性派生的子屬性(2) 子屬性 說明 border-top-image 定義上邊框圖像 border-right-image 定義右邊框圖像 border-bottom-image 定義下邊框圖像 border-left-image 定義左邊框圖像 border-top-left-image 定義邊框左上角圖像 border-top-right-image 定義邊框右上角圖像 border-bottom-left-image 定義邊框左下角圖像 border-bottom-right-image 定義邊框右下角圖像
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved