天天看點

CSS3中邊框圖檔

使用場景

當我們需要在盒子邊框上做些文章時,但是在不同大小的盒子上想要讓邊框的樣式相同,那麼使用傳統的css代碼寫起來非常麻煩,如下例場景

CSS3中邊框圖檔

那麼此時可以使用css3中引入的新特性,border-image(邊框圖檔)

如下圖:

CSS3中邊框圖檔

邊框圖檔的切片原理

把四個角切出去(九宮格的由來),中間部分可以鋪排、拉伸或者環繞.

類似與九宮格,采用上右下左的順序進行切片,但是需要保證四個角的完整度

CSS3中邊框圖檔

border-image的常用屬性

一般常用的屬性有四個 如下圖:

CSS3中邊框圖檔

舉例,寫一個demo盒子

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .demo {
            width: 300px;
            height: 300px;
            background-color: skyblue;
            border: 15px solid gold;  
        }
    </style>
</head>

<body>
    <div class="demo"></div>
</body>

</html>
           

border-image-source 圖檔位置

添加border-image-source屬性後,在邊框裡添加一個圖檔,可以看到盒子四個角都變成我們添加的圖檔了

CSS3中邊框圖檔

border-image-slice 圖檔切片

将剛才盒子中的邊框圖檔裡進行切片。注意是按照上右下左的順序來切的,并且不用跟機關

這裡我們都30,在我們寫的樣式中加入這樣一句代碼,之後盒子變成了這樣

CSS3中邊框圖檔

border-image-width 設定圖檔寬度

為了更好的測試,這裡我在盒子裡寫了一段文字

CSS3中邊框圖檔

假設我把邊框圖檔的寬度設定為30px

那麼盒子變成了這樣

CSS3中邊框圖檔

由此可以得出:圖檔寬度不會擠壓文字,文字會在邊框上顯示 這個是圖檔邊框的寬度

border-image-repeat : 邊框是否平鋪

這個屬性常用的有三個值:分别為: 圖像是否應平鋪repeat()/stretch(拉伸,預設值)/round(鋪滿)

這裡由于篇幅原因就不一一測試了,感興趣的小夥伴可以自己試驗一下。

小結

border-image:圖檔邊框常用屬性
1. border-image-source: url(位址);
2.border-image-slice: 按照順序 上右下左進行圖檔切片,不加機關   
3.border-image-width: 圖檔邊框的寬度(需要加機關)
4.border-image-repeat: 圖像是否應平鋪repeat()/stretch(拉伸,預設值)/round(鋪滿)
           

繼續閱讀