文章導(dǎo)航:
第一章:基本的圓角框
第二章:透明圓角化背景圖片
在前面一篇文章中,我們將一張上下漸變的的圖片作為標(biāo)題的背景,并將它應(yīng)用了圓角效果。是不是這種圓角框只能用于比較單調(diào)的圖片呢?我們還能將一些顏色比較豐富的圖片也進(jìn)行透明圓角化嗎?
答案是肯定的,下面看看它的終極功夫。
還是先看最終效果圖吧!
圖一
看到了吧,這就是用純CSS實(shí)現(xiàn)的圓角化圖片,為了能看到透明化的效果,我特意應(yīng)用了一個背景圖片,你可以下載本模型到你的電腦中,隨意伸縮窗口的大小,看看外圓角是否是透明的。
有了這種效果,你再也不愁給每一張圖片作圓角的工作,這種效果在一些圖片類的演示頁面中經(jīng)常見到,特別適用那些圖片比較多的列表中。怎么樣,效果還可以吧!
好了,我們來看看它的實(shí)現(xiàn)機(jī)制吧!
實(shí)現(xiàn)原理:
這種效果其實(shí)就是我在第二章中變體實(shí)現(xiàn),下面講一講主要的關(guān)鍵代碼。
主要變化的還是背景圖片的定位,只是這一次與第二章中的有些不同,這次需要考慮到下面的兩個圓角的變化。
先看看上面兩個圓角的實(shí)現(xiàn):
/*圖片偏移定位--上面部分*/ .sharp b.b2{background-position:-4px top;} .sharp b.b3{background-position:-2px -1px;} .sharp b.b4{background-position:-1px -2px;} |
再看看下面兩個圓角的樣式設(shè)置,下面部分和上面部分是相互對應(yīng)的。
/*圖片偏移定位--下面部分*/ .sharp b.b7{background-position:-4px bottom;} .sharp b.b6{background-position:-2px bottom;} .sharp b.b5{background-position:-1px bottom;} |
不同的圖片調(diào)用樣式:
/*顏色方案一,綠色風(fēng)格----------------------------------------*/ /*邊框色*/ .color1 .b2,.color1 .b3,.color1 .b4,.color1 .b5,.color1 .b6,.color1 .b7,.color1 .content{border-color:#262626;} .color1 .b1,.color1 .b8{background:#262626;} /*圖片路徑*/ .color1 .b2,.color1 .b3,.color1 .b4,.color1 h3,.color1 .b5,.color1 .b6,.color1 .b7,.color1 .content{background:url(image/1.jpg) no-repeat;} |
前面兩句共同構(gòu)成邊線框的顏色值,需要設(shè)置成同一個色值,后面的一句設(shè)置圖片的調(diào)用路徑。
三句話就搞定一種顏色方案了。
缺點(diǎn):
對于這種用純CSS來實(shí)現(xiàn)的圓角框,不得不說說它的缺陷。
1. 語義化不夠好,因?yàn)槠鋱A角全部由HTML結(jié)構(gòu)標(biāo)簽堆砌而成,而這些標(biāo)簽在字面上講沒有任何的含義,全是為了樣式的表現(xiàn)而存在的,所以造成HTML代碼無端增多,不利于SEO優(yōu)化。這也是大家所詬病的地方,也是廣大前端工程師不喜歡它的最大原因。
2. 樣式的定義比較復(fù)雜,可操作性繁瑣,如果沒有弄懂原理,會覺得特麻煩。
3. 邊線框?qū)挾戎贿m用于較小的值,無法定義線框的大小,因?yàn)橐怀^1px的寬度值,就會產(chǎn)生比較直觀的鋸齒。
4. 圓角不能調(diào)節(jié)大小,如果要模擬更圓滑的效果,就需要添加更多的容器,造成結(jié)構(gòu)更加復(fù)雜。
5. 不太適合對圖形要求比較高的場合,因?yàn)樗粔驁A滑,如果將它放大會看到一些鋸齒。
優(yōu)點(diǎn):
說了這么多缺點(diǎn),也要來說說它的優(yōu)點(diǎn):
1. 兼容性好,這種圓角框通用于全部的瀏覽器,不存在兼容性問題。
2. 彈性自適應(yīng)寬度高度的大小變化,特別適用于流體布局的頁面中使用。
3. 可自定義邊框和背景色,隨心所欲地改變風(fēng)格。
4. 不需要制作圓角圖片,節(jié)約網(wǎng)絡(luò)流量,并且也可以減少或降低設(shè)計(jì)人員的工作量,減少前端人員布局定位的兼容性工作。
擴(kuò)展性:
如果將它的不足盡最大化地減弱,那么這將是一種不錯的效果,我想這些工作就需要JS來參與了,而這樣的話已超出本文標(biāo)題的范圍了。并且這種JS的圓角框已經(jīng)有了比較成熟的作品了。
本模型在以下瀏覽器中完美通過:
IE5.5、IE6、IE7、IE8、FF3、TT、Maxthon2.1.5、Opera9.6、Safari4.0、Chrome2.0。
完整DEMO:
提示:可修改后代碼再運(yùn)行!