border-image 邊框圖片這個(gè)屬性的兼容性不是很好,所以在正常的前端開發(fā)工作中很難用到,但是在不考慮兼容性的情況下,它無疑的一個(gè)很強(qiáng)大的屬性,因?yàn)樗梢宰远x漂亮的邊框,而不在是單調(diào)的線條。 1. 官方解釋CSS 屬性允許在元素的邊框上繪制圖像。這使得繪制復(fù)雜的外觀組件更加簡(jiǎn)單,也不用在某些情況下使用九宮格了。使用 border-image 時(shí),其將會(huì)替換掉 border-style 屬性所設(shè)置的邊框樣式。雖然規(guī)范要求使用 border-image 時(shí)邊框樣式必須存在,但一些瀏覽器可能沒有實(shí)現(xiàn)這一點(diǎn)。 2. 解釋通過 border-image 屬性可以給元素添加自定義得而邊框樣式,而不單單是系統(tǒng)提供的那幾種。換句話說就是我們可以自定義一個(gè)圖片來充當(dāng)元素的邊框?qū)λM(jìn)行環(huán)繞。 3. 語法border-image:source slice repeat; 包含屬性
4. 實(shí)例
.demo{ width: px; height: px; background: #ccc; border-width: px; border-style: solid; border-image: url(./../img/border-image.jpg); } 效果圖 我們這使用的是 bordr-image 這個(gè)屬性,并定義了圖片路徑 其它的不設(shè)定使用默認(rèn)值。
.demo2{ width: px; height: px; background: #ccc; border-width: px; border-style: solid; border-image-source: url(./../img/border-image.jpg); } 效果圖 我們可以看到 例1 和 例2 兩個(gè)圖是一樣的,因?yàn)槲覀儍H僅使用了 border-image-source 增加了圖片路徑而已。
.demo2{ width: px; height: px; background: #ccc; border-width: px; border-style: solid; border-image-source: url(./../img/border-image.jpg); border-image-slice: ; } 效果圖 通過給 slice 設(shè)定一個(gè) 70 我們得到了一個(gè)漂亮的邊框,下面重點(diǎn)說下這個(gè)屬性值是如何作用在邊框圖片上的。 .demo2{ width: px; height: px; background: #ccc; border-width: px; border-style: solid; border-image-source: url(./../img/border-image.jpg); border-image-slice:; border-image-outset:px; } 效果圖 從效果圖中的紅色箭頭我們可以看到,邊框圖片和灰色元素之間有一條 2px 的白線,這是因?yàn)槲以O(shè)置了 image-outset 向外偏移 了 22px 的原因。
.demo2{ width: px; height: px; background: #ccc; border-width: px; border-style: solid; border-image-source: url(./../img/border-image.jpg); border-image-slice:; border-image-outset:px; border-image-repeat: repeat; } 效果圖 通過效果圖我們可以看到圖片是以平鋪重復(fù)的方式來填充的,而這個(gè)屬性默認(rèn)是 stretch 拉伸來填充圖片的。這個(gè)屬性還有以下值
5. 兼容性
6. 經(jīng)驗(yàn)分享
.demo{ border-width:px; border-image-slice:; } 還有一點(diǎn)要注意的是 slice 不需要掛單位。 .demo{ -webkit-border-image: url(./../img/border-image.jpg) stretch; } 這是 border-imgae 的連寫方式,第一個(gè)和第二個(gè) 20 都是 slice,認(rèn)出它的最后方法就是 它們都不帶單位。 7. 小結(jié)
|