1.HTML頁面直接寫
<img alt="powerbookg4.jpg" src="archives/images/powerbookg4.jpg" width="250" height="60" style="-moz-opacity:0.5; filter:alpha(opacity=50);cursor:pointer;" />
2.JS中寫
在IE中需要通過"filter"來定義透明度"opacity",而在Mozilla中是可以直接解析"opacity",所以如果要使得這個效 果在兩種瀏覽器中都得到支持,需要把兩種設定都加進去。針對IE的設定:this.filters.alpha.opacity=50 而針對 Mozilla的設定:this.style.MozOpacity=0.5
3.CSS樣式表中寫
css代碼里這樣寫就可以:
.div {
filter:alpha(opacity=50);/*IE*/
opacity:0.5;/*Mozilla*/
}
理解 CSS 盒子模型
如果你想實現不需要很多奇巧淫技的跨瀏覽器兼容的 CSS 代碼,透徹地理解 CSS 盒子模型是首要事情,CSS 盒子模型并不難,且基本支持所有瀏覽器,除了某些特定條件下的 IE 瀏覽器。
CSS 盒子模型負責處理以下事情:
友情提示:請勿在IE下瀏覽。
查看實例:http://www.jankoatwarpspeed.com/examples/windows7menu/
點擊下載:http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=170
來看下原作者的設計草圖:
第一步 :創建如下菜單結構
win7的開始菜單有二個部分,左側程序菜單,右側系統菜單。
第二步:菜單容器css
有幾個關注的點,可以留意下:
第三步:菜單左側部分的css
這里值得留意的是鼠標經過菜單項的效果設置,也就是#programs a:hover里的樣式,這是難點,也是css3的強大之處,依舊是圓角、陰影、漸變背景。
第四步:菜單右側的CSS部分
要留意的點依舊是哪幾項,難點在于細節的微調,尤其是漸變背景的制作,css3中非常靈活,下次有機會,發篇css3漸變背景的詳細教程。
英文原文:http://www.jankoatwarpspeed.com/post/2010/04/06/windows-7-start-menu-css3.aspx
這里有5個使用CSS3實現的常見效果,你可以馬上動手試試看。
你可以創建一些大小、顏色不同的元素(如按鈕),而不用每次都準備一個背景圖片。 ZURB上有教你創建CSS3按鈕的詳細文章,有興趣可以去看看。利用RGBA做出的陰影效果真的很棒!
Ben Lister選列了很多實用的CSS3技巧,包括這個看起來相當不錯 的3D柱形圖。使用-webkit-transform或-moz-transform以及指定的偏移,你可以用CSS做出和圖片一樣令人印象深 刻的效果。
WebDesignerWall的Nick La展示了如何創建一個漂亮的CSS3彈出式下拉菜單,他展示了使用漸變圖片和CSS創建的兩個版本的菜單。
這些由Nicolas Gallagher創建的純CSS引用氣泡看起來很棒,你可以稍加修改作為你網頁上的blockquote元素。
可以去Gallagher的demo頁面看看效果,尤其注意那個twitter的氣泡,比twitter官方使用嵌入的方法好。
蘋果剛剛推出了一些展示HTML5網頁效果的頁面(HTML5和CSS3往往被聯系在一起)。雖然這個使用CSS3創建的 Polaroid-style相冊有些過渡和3D效果無法在所有的瀏覽器中運行,不過這真的是一個很酷的CSS3過渡效果的示例。
想看更多CSS3和HTML5的demo,請點擊這里。
浮動的框可以向左或向右移動,直到它的外邊緣碰到包含框或另一個浮動框的邊框為止。
由于浮動框不在文檔的普通流中,所以文檔的普通流中的塊框表現得就像浮動框不存在一樣。
CSS 浮動
請看下圖,當把框 1 向右浮動時,它脫離文檔流并且向右移動,直到它的右邊緣碰到包含框的右邊緣:
再請看下圖,當框 1 向左浮動時,它脫離文檔流并且向左移動,直到它的左邊緣碰到包含框的左邊緣。因為它不再處于文檔流中,所以它不占據空間,實際上覆蓋住了框 2,使框 2 從視圖中消失。
如果把所有三個框都向左移動,那么框 1 向左浮動直到碰到包含框,另外兩個框向左浮動直到碰到前一個浮動框。
如下圖所示,如果包含框太窄,無法容納水平排列的三個浮動元素,那么其它浮動塊向下移動,直到有足夠的空間。如果浮動元素的高度不同,那么當它們向下移動時可能被其它浮動元素“卡住”:
浮動框旁邊的行框被縮短,從而給浮動框留出空間,行框圍繞浮動框。
因此,創建浮動框可以使文本圍繞圖像:
要想阻止行框圍繞浮動框,需要對該框應用 clear 屬性。clear 屬性的值可以是 left、right、both 或 none,它表示框的哪些邊不應該挨著浮動框。
為了實現這種效果,在被清理的元素的上外邊距上添加足夠的空間,使元素的頂邊緣垂直下降到浮動框下面:
這是一個有用的工具,它讓周圍的元素為浮動元素留出空間。
讓我們更詳細地看看浮動和清理。假設希望讓一個圖片浮動到文本塊的左邊,并且希望這幅圖片和文本包含在另一個具有背景顏色和邊框的元素中。您可能編寫下面的代碼:
.news { background-color: gray; border: solid 1px black; }
.news img { float: left; }
.news p { float: right; }
<div class="news"> <img src="news-pic.jpg" /> <p>some text</p> </div>
這種情況下,出現了一個問題。因為浮動元素脫離了文檔流,所以包圍圖片和文本的 div 不占據空間。
如何讓包圍元素在視覺上包圍浮動元素呢?需要在這個元素中的某個地方應用 clear:
不幸的是出現了一個新的問題,由于沒有現有的元素可以應用清理,所以我們只能添加一個空元素并且清理它。
.news { background-color: gray; border: solid 1px black; }
.news img { float: left; }
.news p { float: right; }
.clear { clear: both; }
<div class="news"> <img src="news-pic.jpg" /> <p>some text</p> <div class="clear"></div>
</div>
這樣可以實現我們希望的效果,但是需要添加多余的代碼。常常有元素可以應用 clear,但是有時候不得不為了進行布局而添加無意義的標記。
不過我們還有另一種辦法,那就是對容器 div 進行浮動:
.news { background-color: gray; border: solid 1px black; float: left;
}
.news img { float: left; }
.news p { float: right; }
<div class="news"> <img src="news-pic.jpg" /> <p>some text</p> </div>
這樣會得到我們希望的效果。不幸的是,下一個元素會受到這個浮動元素的影響。為了解決這個問題,有些人選擇對布局中的所有東西進行浮動,然后使用適當的有意義的元素(常常是站點的頁腳)對這些浮動進行清理。這有助于減少或消除不必要的標記。
事實上,W3School 站點上的所有頁面都采用了這種技術,如果您打開我們使用 CSS 文件,您會看到我們對頁腳的 div 進行了清理,而頁腳上面的三個 div 都向左浮動。