8.27日音訊,頁面制作中hidden的實(shí)際應(yīng)用詳解。一提到清除浮動(dòng),我們就會(huì)想到另外一個(gè)CSS樣式:clear:both,我相信對(duì)于這個(gè)屬性的理解大家都不成問題的。但是對(duì)于“浮動(dòng)”這個(gè)詞到底包含什么樣的含義呢?overflow:hidden這個(gè)CSS樣式是大家常用到的CSS樣式,但是大多數(shù)人對(duì)這個(gè)樣式的理解僅僅局限于隱藏溢出,而對(duì)于清除浮動(dòng)這個(gè)含義不是很了解。
下面邯鄲網(wǎng)站制作首創(chuàng)網(wǎng)絡(luò)小編來給大家講解一下,歡迎大家與我們一塊討論:
1隱藏域在頁面中對(duì)于用戶是不可見的,在表單中插入隱藏域的目的在于收集或發(fā)送信息,以利于被處理表單的程序所使用。瀏覽者單擊發(fā)送按鈕發(fā)送表單的時(shí)候,隱藏域的信息也被一起發(fā)送到服務(wù)器。
2有些時(shí)候我們要給用戶一信息,讓他在提交表單時(shí)提交上來以確定用戶身份,如sessionkey,等等.當(dāng)然這些東西也能用cookie實(shí)現(xiàn),但使用隱藏域就簡單的多了.而且不會(huì)有瀏覽器不支持,用戶禁用cookie的煩惱。
3有些時(shí)候一個(gè)form里有多個(gè)提交按鈕,怎樣使程序能夠分清楚到底用戶是按那一個(gè)按鈕提交上來的呢?我們就可以寫一個(gè)隱藏域,然后在每一個(gè)按鈕處加上onclick="document.form.command.value="xx""然后我們接到數(shù)據(jù)后先檢查command的值就會(huì)知道用戶是按的那個(gè)按鈕提交上來的。
4有時(shí)候一個(gè)網(wǎng)頁中有多個(gè)form,我們知道多個(gè)form是不能同時(shí)提交的,但有時(shí)這些form確實(shí)相互作用,我們就可以在form中添加隱藏域來使它們聯(lián)系起來。
5javascript不支持全局變量,但有時(shí)我們必須用全局變量,我們就可以把值先存在隱藏域里,它的值就不會(huì)丟失了。
6還有個(gè)例子,比如按一個(gè)按鈕彈出四個(gè)小窗口,當(dāng)點(diǎn)擊其中的一個(gè)小窗口時(shí)其他三個(gè)自動(dòng)關(guān)閉.可是IE不支持小窗口相互調(diào)用,所以只有在父窗口寫個(gè)隱藏域,當(dāng)小窗口看到那個(gè)隱藏域的值是close時(shí)就自己關(guān)掉。
如果divwai中還包含其他的div,我不允許它出現(xiàn)在nei的右側(cè),我們則用樣式clear:both指定這個(gè)div,不允許它浮動(dòng)在nei右側(cè)。
這些在ie6里面是正確的。但是在火狐或者其他瀏覽器里面,我們發(fā)現(xiàn)問題并非如此簡單。我們發(fā)現(xiàn),當(dāng)nei這個(gè)div的寬度和高度都大于wai這個(gè)div的時(shí)候,wai并沒有被內(nèi)撐開而是依舊顯示為我們指定的寬高。在我的例子中,都是500。
這個(gè)時(shí)候我不理解了,我搜索了很多的資料,但是都沒能理解這是為什么,直到看到別人在類似的情況下給wai這個(gè)div加了一個(gè)overflow:hidden這個(gè)屬性解決了這個(gè)問題。
我們直到overflow:hidden這個(gè)屬性的作用是隱藏溢出,給wai加上這個(gè)屬性后,我們的nei的寬高自動(dòng)的被隱藏掉了。另外,我們?cè)僮鲆粋€(gè)試驗(yàn),將wai這個(gè)div的高度值刪除后,我們發(fā)現(xiàn),wai的高度自動(dòng)的被nei這個(gè)div的高度值給撐開了。
說到這里,我們?cè)賮砝斫庖幌?ldquo;浮動(dòng)”這個(gè)詞的含義。我們?cè)鹊睦斫馐?,在一個(gè)平面上的浮動(dòng),但是通過這個(gè)試驗(yàn),我們發(fā)現(xiàn),這不僅僅是一個(gè)平面上的浮動(dòng),而是一個(gè)立體的浮動(dòng)!
也就是說,當(dāng)nei這個(gè)div加上浮動(dòng)這個(gè)屬性的時(shí)候,在顯示器的側(cè)面,它已經(jīng)脫離了wai這個(gè)div,也就是說,此時(shí)的nei的寬高是多少,對(duì)于已經(jīng)脫離了的wai來說,都是不起作用的。