用 CSS 實現的陰影效果
2005/12/20 15:25:16

陰影效果成了平面設計的一個套路,平面設計師把它當作瑞士軍刀的起子,隨處使用,盡管招致不少非議,卻一直廣受歡迎。雖然用圖像編輯軟件也能實現陰影效果,但在Web設計快速發展的今天,適應性和易用性是大勢所趨,這種以固定背景效果制作出的靜態圖片很難有良好的適應性。 
假如有一種技術,用 CSS 對任意塊級元素靈活地添加陰影,而且能隨著內容的大小自動擴展,還要適用于大多數流行的瀏覽器,那該有多好!不信么?告訴您,只需寫幾行代碼就能做到。
是不是很有意思?先別急,這可不是我們的發明,我們只不過對此作了改進。這個技術是由著名的 1976 design 上的 Dunstan Orchard (向 Dunstan 脫帽致敬)構思出來的,并且作了演示。我們覺得這個方法簡潔實用,但深入研究之后,發現還有改進的余地。
這里是它的工作原理:先用圖像軟件制作一幅背景圖片,圖片上只有陰影,不能有可見的邊界(一種簡便的方法是對空白的選擇區域應用某種效果)。這個圖片要能夠覆蓋將要修飾的最大元素,實踐當中,800 x 600 一般就足夠了。將它保存為GIF圖片,記住一定要在背景顏色之上應用效果,此外再把它另存為完全透明的PNG圖片(即沒有背景色)。這是為了根據瀏覽器的能力區別對待[譯注:即讓支持透明 PNG 圖片的瀏覽器使用PNG,IE 使用GIF。]。這里是將要用到的 GIF 文件以及 PNG 文件。 
我們先從如何為圖片添加陰影開始,然后再擴展到其他塊級元素。為了直觀起見,我們把這個 class 命名為 img-shadow,我們先用這只可愛的小貓作個試驗:
相應的代碼(只需額外增加一個 div ):
<div class="img-shadow">  <img src="cat.jpg" alt="test"/> </div> 
下圖演示了我們所用到的技術: 
首先,我們用先前準備的陰影圖片作為該 div 的背景。
background: url(shadow.gif) no-repeat bottom right; 
然后,我們將圖片的左邊距和上邊距設為負值,使它“投下”陰影,陰影的寬度為 6 個像素,也就代碼中的數字:
margin: -6px 6px 6px -6px;
為避免指定該 div 的大小,我們將它浮動起來。(否則它將占據全部可用的水平空間。)
還記得前面我們說過,要讓好的瀏覽器顯示好的陰影效果嗎?訣竅在這行代碼:
background: url(shadowAlpha.png) no-repeat right bottom !important;
這里的“!important”表示此處指定的樣式的優先級高于同元素上的普通樣式聲明(參見 標準),對透明 PNG 缺乏內在支持的所有版本的 Internet Explorer 剛好也不支持“!importan”。通過互相矛盾的兩次聲明,我們得到了期望的結果(IE 用的是第二個,而大多數瀏覽器會采用第一個)。最終的結果是這樣的:當需要改變背景顏色時,支持 PNG 的瀏覽器顯示出的陰影效果非常完美。而在可憐的 IE 中,陰影還是它原來的顏色。
你可能會問,為什么要這樣做?答案是可以一箭雙雕。  我們能夠: 不費吹灰之力就可以自動地讓高級的瀏覽器發揮它的最好效果。  它能自我修復: 如果(隨Longhorn而來的)新版 Internet Explorer 支持這兩個標準,我們無須進行修補,仍然能夠獲得精確、完全透明的陰影。 
最終的 CSS 代碼是這樣的:
.img-shadow {    float:left;  background: url(shadowAlpha.png) no-repeat bottom right !important;  background: url(shadow.gif) no-repeat bottom right;  margin: 10px 0 0 10px !important;  margin: 10px 0 0 5px;  }  .img-shadow img {  display: block;    position: relative;  background-color: #fff;  border: 1px solid #a9a9a9;  margin: -6px 6px 6px -6px;  padding: 4px;  } 
為了補償 IE 浮動模型的錯誤,所以上面代碼中的 margin 有些差異,而最后一行的 padding 將圖片框裝扮得更

下一頁
返回列表
返回首頁 主站蜘蛛池模板: 真实国产乱子伦沙发睡午觉| 老司机成人精品视频lsj| 日本五月天婷久久网站| 亚洲国产精品毛片AV不卡在线| 粉嫩小仙女扒开双腿自慰| 国产三级精品三级男人的天堂| 日本在线高清视频| 国产美女牲交视频| baoyu777永久免费视频| 成人午夜短视频| 久久久无码精品亚洲日韩按摩| 最近最新在线中文字幕| 亚洲最新黄色网址| 狠狠色综合TV久久久久久| 又大又粗又长视频| 色综合天天综合网国产成人网 | 最近免费韩国电影hd视频| 亚洲欧美一区二区三区综合| 男女无遮挡边做边吃视频免费| 啊灬啊灬啊灬快好深视频在线| 超碰97人人做人人爱少妇| 国产成人片无码视频在线观看 | 亚洲日韩AV一区二区三区四区 | 在线天堂中文www官网| www.欧美com| 性欧美午夜高清在线观看| 中文精品字幕电影在线播放视频| 日本高清va在线播放| 五月天婷婷在线观看视频| 欧美一区二区三区久久综合| 亚洲日本天堂在线| 污视频免费网站| 亚洲色偷偷色噜噜狠狠99网| 男女无遮挡动态图| 免费看黄a级毛片| loveme枫と铃樱花动漫| 成人精品免费视频大全app| 久久久久亚洲av无码去区首| 日韩人妻无码精品无码中文字幕| 亚洲AV无码成人专区| 樱桃视频影院在线播放|