欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

css 中的background:transparent到底是什么意思有什么作用

  發(fā)布時間:2012-12-12 09:40:03   作者:佚名   我要評論
css 中的 transparent到底是什么意思? 一直覺得很奇怪,到底有什么用的啊?,本文將詳細(xì)說明,需要的朋友可以參考下
有時我在看css時,看到有的css屬性定義為background:transparent。意思就是背景透明。實際上background默認(rèn)的顏色就是透明的屬性。所以寫和不寫都是一樣的

有段時間沒寫文章了,一直在學(xué)校,雖然帶著電腦,但是不能上網(wǎng)啊!最近在用javascript寫一個網(wǎng)頁版的操作系統(tǒng),寫好了一定發(fā)上來,寫的過程中遇到很多問題,許多都是細(xì)節(jié)方面的,很麻煩,不過自己一直在努力解決,也是對自己的一種提高吧.下面我來說一下我最近遇到的一個問題.

大家知道,你用createelement新建一個div,默認(rèn)情況下這個div的style中的backgroungcolor屬性是transparent,呵呵,如果我做一個div的蒙板,那么請看下面一段代碼:

復(fù)制代碼
代碼如下:

div.style.position="absolute";
div.style.width=document.body.clientWidth+"px";
div.style.height=document.body.clientHeight+"px";
div.style.left="0px";
div.style.top="0px";
div.style.zIndex="2000";
div.style.backgroundColor="black";
div.style.filter="alpha(opacity="+0+");";


這是很多蒙板div的設(shè)置,也就是說屏蔽用戶對網(wǎng)頁上的其他元素進(jìn)行操作.

我們主要看后面兩行代碼,前面不是已經(jīng)說了嘛,div的默認(rèn)backgroundcolor屬性就是transparent,也就是是透明,那么我們干嘛還要多此一舉去設(shè)置個black(這個無所謂,隨便設(shè)置個顏色,只要不是transparent就行,也不能是空字符串,瀏覽器會默認(rèn)將空字符串看成transparent),并且設(shè)置濾鏡讓他透明呢.

我自己動手做了試驗,一開始還對試驗結(jié)果很迷惑,但自己靜下來想想便發(fā)現(xiàn)了其中的區(qū)別,如果我們沒有上面代碼的后兩句,那么我們便可以對蒙板后的元素進(jìn)行操作,也就是說起不到屏蔽的作用,但是這個操作是有限制的,具體說就是我們只可以對有焦點的元素進(jìn)行操作,比如文本,圖片,按鈕等,我舉個例子: 

復(fù)制代碼
代碼如下:

<div style="border:1px red solid;width:100px;height:100px" onclick="alert(1)">123</div>


正常情況下,只要你點擊這個div的任何位置,都會alert的,但是當(dāng)它被一個backgroundcolor為transparent的元素遮住的時候,我們只有點擊123才會alert,因為文本是可以獲得焦點的,同理其他元素也一樣.順便說下,這個backgroundcolor為transparent的元素的事件會對被它遮住的元素所截獲.如果我們所觸發(fā)的對象沒有焦點,那么事件會交換給transparent的元素處理并按這個元素進(jìn)行冒泡,否則有焦點的會事件便由有焦點的那個對象處理,不會交換,并且按有焦點的元素進(jìn)行冒泡.(貌似不是很好理解,可以自己多做做試驗就明白了)

這樣說,大家明白了吧,這也是為什么要后兩句的原因了,只有這樣才能對網(wǎng)頁元素進(jìn)行完全屏蔽.

設(shè)置樣式為透明色
有時,上文寫了

復(fù)制代碼
代碼如下:

background:inherit;

那么下文就可能要清除一下背景,就寫了

復(fù)制代碼
代碼如下:

background:transparent;

透明背景,也就是去掉了被
如果一個元素覆蓋在另外一個元素之上,而你想顯示下面的元素,這時你就需要把上面這個元素的background設(shè)置為transparent

文章有不妥之處還請各位指正,本文內(nèi)容在ie7.0下測試通過.

相關(guān)文章

最新評論