CSS 3 + HTML 5 是未來的 Web,它們都還沒有正式到來,雖然不少瀏覽器已經(jīng)開始對它們提供部分支持。
本文介紹了 5 個(gè) CSS3 技巧,可以幫你實(shí)現(xiàn)未來的 Web,不過,這些技術(shù)不應(yīng)該用在正式的客戶項(xiàng)目,它們更適合你的個(gè)人博客站點(diǎn),Web 設(shè)計(jì)社區(qū),或者不會有客戶向你投訴的場合。
1. 圓角效果
CSS3 新功能中最常用的一項(xiàng)是圓角效果,標(biāo)準(zhǔn) HTML 方塊對象是90度方角的,CSS3 可以幫你實(shí)現(xiàn)圓角。
- -moz-border-radius: 20px;
- -webkit-border-radius: 20px;
- border-radius: 20px;
甚至單個(gè)角也可以實(shí)現(xiàn)圓角,不過 Mozilla 和 Webkit 的語法稍有不同。
- -moz-border-radius-topleft: 20px;
- -moz-border-radius-topright: 20px;
- -moz-border-radius-bottomleft: 10px;
- -moz-border-radius-bottomright: 10px;
- -webkit-border-top-rightright-radius: 20px;
- -webkit-border-top-left-radius: 20px;
- -webkit-border-bottom-left-radius: 10px;
- -webkit-border-bottom-rightright-radius: 10px;
所支持的瀏覽器:Firefox, Safari , Chrome
用例:
Twitter.
請參閱:2. 圖形化邊界 顧名思義,圖形化邊界就是允許使用圖片作為對象的邊界,語法如下:
- border: 5px solid #cccccc;
- -webkit-border-image: url(/images/border-image.png) 5 repeat;
- -moz-border-image: url(/images/border-image.png) 5 repeat;
- border-image: url(/images/border-image.png) 5 repeat;
這里,border: 5px 設(shè)定了邊界的寬度,然后,每個(gè)邊界的圖片定義告訴瀏覽器,使用圖片的多大一部分來充當(dāng)邊界。邊界圖片還可以針對每一條邊單獨(dú)設(shè)置:
- border-bottom-rightright-image
- border-bottom-image
- border-bottom-left-image
- border-left-image
- border-top-left-image
- border-top-image
- border-top-rightright-image
- border-right-image
支持的瀏覽器: Firefox 3.1, Safari , Chrome.
用例:
Blog.SpoonGraphics.
請參考:3. 塊陰影與文字陰影 陰影效果曾讓 Web 設(shè)計(jì)師既愛又恨,現(xiàn)在,有了 CSS3,你不再需要 Photoshop,已經(jīng)有網(wǎng)站在使用這個(gè)功能了,如
24 Ways website.
- -webkit-box-shadow: 10px 10px 25px #ccc;
- -moz-box-shadow: 10px 10px 25px #ccc;
- box-shadow: 10px 10px 25px #ccc;
前兩個(gè)屬性設(shè)置陰影的 X / Y 位移,這里分別是 10px,第3個(gè)屬性定義陰影的虛化程度,最后一個(gè)設(shè)置陰影的顏色。文字陰影也可以這樣設(shè)置:
- text-shadow: 2px 2px 5px #ccc;
支持的瀏覽器:Firefox 3.1, Safari, Chrome (只支持 Box 陰影) ,Opera (只支持文字陰影).前3個(gè)數(shù)字表示紅綠藍(lán)三色的值,最后一個(gè)值代表透明度,另外,我們還可以使用 opacity 實(shí)現(xiàn)透明度(目前的燈箱效果多使用該技巧 - 譯者)
用例:
24 Ways.
請參考:4. 使用 RGBA 實(shí)現(xiàn)透明效果 目前,
Web 設(shè)計(jì)中的透明效果主要靠 PNG 圖片實(shí)現(xiàn)(但在 IE 瀏覽器支持得并不好 - 譯者),在 CSS3,可以直接實(shí)現(xiàn)透明效果。
- rgba(200, 54, 54, 0.5);
- background: rgba(200, 54, 54, 0.5);
- color: rgba(200, 54, 54, 0.5);
- color: #000;
- opacity: 0.5;
支持的瀏覽器: Firefox, Safari, Chrome, Opera (opacity) 以及 IE7 (opacity, with fixes).
用例:
24 Ways (RGBA).
請參考:5. 使用 @Font-Face 實(shí)現(xiàn)定制字體 Web 設(shè)計(jì)中有幾種字體是比較安全的,如 Arial,Helvetica, Verdana, Georgia, Comic Sans (中文的,一般來說宋體是唯一安全的 - 譯者),現(xiàn)在,使用 CSS3 的 @font-face 可以自己指定字體,不過因?yàn)闋砍兜桨鏅?quán)問題,實(shí)際能用的字體也是有限的 (另外,體積龐大的中文字體也是一個(gè)不好解決的問題 - 譯者)。
語法如下: - @font-face {
- font-family:'Anivers';
- src: url('/images/Anivers.otf') format('opentype');
- }
支持的瀏覽器: Firefox 3.1, Safari, Opera 10 and IE7 (需要一番周折,如果你不怕麻煩,可以在 IE 實(shí)現(xiàn)這個(gè)功能,請參考:
make font-face work in IE )
用例:
TapTapTap.
請參閱:雖然 CSS3 尚在開發(fā)中,上面提到的這些功能已經(jīng)可以在部分瀏覽器中使用了,尤其是
Safari。不幸的是,Safari 并非主流瀏覽器。
Firefox 目前擁有大量用戶基礎(chǔ),另外,即將推出的 Firefox 3.1 支持不少 CSS3 效果,因?yàn)?Firefox 用戶的升級積極性很高,因此,會有不少用戶可以提前體驗(yàn) CSS3 的新功能。
Google Chrome 今年剛剛發(fā)布,它基于 Webkit 引擎,因此和 Safari 很相似,因?yàn)?Safari 主要用于 Mac 市場,Chrome 可以正好彌補(bǔ) Windows 市場的空缺。
根據(jù)
統(tǒng)計(jì)數(shù)據(jù),2008年11月止,44.2% 的用戶使用 Firefox, 3.1% 使用 Chrome, 2.7% 使用 Safari,意味著 CSS3 的部分功能已經(jīng)可以支持近半 Internet 用戶,而在 Web 設(shè)計(jì)圈子,這個(gè)比例可能更高,大約有 73.6% (
Blog.SpoonGraphics 提供的數(shù)據(jù))
6. 負(fù)面因素 上面講述的這些 CSS3 功能會給你的網(wǎng)站帶來出色的效果,但仍有一些負(fù)面的因素必須考慮:
- Internet Explorer: 46% 的 Internet 無法看到這些效果,因此不要將這些東西用于重要的設(shè)計(jì)。同時(shí)保證,在這些效果不起作用的地方,有替代設(shè)計(jì)可用。
- CSS 驗(yàn)證問題: 這些 CSS3 功能并非最終版本,目前不同的瀏覽器使用不同標(biāo)簽實(shí)現(xiàn)這些功能,可能為你的 Style Sheet 帶來驗(yàn)證上的問題。
- 臃腫代碼: 因?yàn)椴煌瑸g覽器要使用不同定義語法,最終將導(dǎo)致你的 CSS 代碼十分臃腫。
- 不當(dāng)?shù)氖褂?/strong>: 對這些效果的不當(dāng)使用,可能帶來一些不良后果,陰影效果尤其如此