IT兄弟連 HTML5教程 CSS3屬性特效 邊框

5f16a58a57bc47108e1c532aebeafd05.jpg

經過CSS3,咱們可以建立圓角邊框,向矩形添加陰影,使用圖片來繪製邊框。而且不需使用設計軟件,好比photoshop。chrome

 

1  邊框圖片border-image瀏覽器

border-image爲邊框應用圖片,顧名思義就是爲圖片應用背景圖片。它和咱們經常使用的background屬性比較類似,可是又比背景圖片複雜一些。例如:工具

background: url(「image.jpg」) 10px 20px no-repeat;      url

border-image屬性是一個簡寫屬性,用於設置如下屬性,具體描述如表1:設計

表1  CSS3 border-image屬性說明3d

 

image/20191119/11f983c38e6b066aa867fcbad441a8ef

    

想象一下:一個矩形,有四個邊框。若是應用了邊框圖片,圖片該怎麼分佈呢?圖片會自動被分隔成四等分,用於四個邊框。blog

能夠理解border-image是一個切片工具,會自動把用做邊框的圖片切割。怎麼切割呢?爲了方便理解,下面有一張特殊的圖片,有9個正方形(對角線的長度爲70像素)拼成的一張圖(210*210像素),並標註好序號,就如傳說中的九宮格,以下:圖片

image/20191119/3b62a15190ee1604495e7c145102f0d7

 

將該圖片應用於一個矩形的邊框,並讓邊框圖片的延伸方式設爲重複,代碼以下:bfc

image/20191119/824d0c70d0ed7acf74d12712fb419d47

 

運行上面的代碼,咱們能夠看到該矩形的邊框變成了圖片。如圖1所示:軟件

圖1  圖片邊框 

 

從序號能夠看出div的四個角分別對應了背景圖片的四個角1,3,9,7。而2,4,6,8被重複在四個邊。由於是從四周向中心切割圖片的,因此5不顯示出來。上述例子中border-image包含三個參數,第一個參數「url(border.png) 」表示邊框圖片的引入路徑;第二個參數「70」表示切割圖片的寬度,單位爲像素,但通常省略單位,也可使用百分比,當四邊寬度相等時可使用一個值,當設置四個值時遵循順時針的規律來分別設置;第三個參數「repeat」表示圖片的延伸方式爲重複,有三個可選參數round(平鋪)、repeat(重複)、stretch(拉伸)。

repeat的意思就是重複,由於上述例子中的邊框寬度正好數字塊寬度,效果不能很好地體現出來,下面改變div的寬度,再看看repeat的效果,修改後CSS的樣式以下:

image/20191119/90517fa675dd736a2af824b47a00fd4c

 

這裏咱們將div的寬度縮小了30px變爲180px,在瀏覽器中查看效果如圖2所示:

 image/20191119/7de59929b748970f70fc999d5d20b95a

圖2  邊框圖片repeat重複

 

在圖2裏,咱們能夠看出矩形的邊角部分被裁掉了,repeat就是從邊框的中間一直重複而且超出部分被裁掉。

再來設置爲div的border-image-repeat設置round,round能夠理解爲圓滿的鋪滿,爲了實現圓滿因此會壓縮(或拉伸),將上述例子的延伸方式改變,修改的CSS代碼以下:

image/20191119/fe923086bb828d53604be572b709238a

 

這裏咱們將邊框圖片的延伸方式修改成round,在瀏覽器中查看效果如圖3所示:

image/20191119/4c83591a0baa49e1865db87a857fe0fe

圖3  背景圖片平鋪(round) 

 

對比repeat的效果,咱們能夠發現round的圖片被壓縮了,並無被截取。

接下來設置爲div的border-image-repeat設置stretch,stretch是拉伸,將上述例子的延伸方式改變,修改的CSS代碼以下:

image/20191119/cce0841e593d033c4f67313574657f6e

 

將CSS替換後,運行上述代碼,能夠發現邊框圖片被拉伸,而不是重複。在瀏覽器中查看效果如圖4所示:

image/20191119/889b9a27634bc8104a5d06a9e34f8f73

圖4 邊框圖片拉伸(stretch)

 

2  自適應的圓角效果

實現該效果時使用的圖片以下:

image/20191119/993df8b3a83e5203cceaf7db19ea6fc3

 

此圖片的剪裁寬度爲20像素,基本上就是此圖的圓角大小。div的邊框寬度爲10像素,代碼以下:

image/20191119/aee9cd5fe627856cb81a62c5d5d8d9c8

 

運行上述代碼,div的邊框實現了上面圖片製做的圓角效果。在瀏覽器中查看效果如圖5所示:

image/20191119/a287a96b6c8da82561830cb3275657bb

圖5  自適應圓角效果

 

一樣地,咱們還可使用圖片來實現多邊框效果,投影效果和選項卡效果等。

1.使用下面圖片實現多邊框效果

image/20191119/586e5181ef5bfc04db4b74f8a7e11e47

 

使用上面的代碼,修改邊框圖片,在瀏覽器中查看效果如圖6所示:

 image/20191119/f620d9bffa07cdfedece280f206ea35b

 圖6  多邊框效果

 

2.投影效果

使用下面圖片實現投影效果,投影能夠控制剪裁寬度和邊框寬度。

image/20191119/e0819ba395ff7bde030fbd4d262e35d7

 

使用border-image實現的效果如圖7所示:

image/20191119/acd2f434d6d918192c2b7bc15bda1069

圖7  投影效果

 

border-image能夠說是CSS3中很是重要的部分,未來必定會大放光彩,其應用潛力真的很是驚人,惋惜目前支持的瀏覽器有限,僅FireFox,chrome瀏覽器,Safari3+支持。

相關文章
相關標籤/搜索