表單元素(控件)不可見屬性“visibility”和“display”分析


表單元素(控件)不可見,你用visibility還是display?

屬性大比拼:visibility和display的介紹

今天在做一個表單時涉及到這方面,當選中相應的選項后設置相應的幾個元素(控件可見或不可見),后來還是用了visibility來實現。我們先來看下visibility對應的幾個屬性的介紹:

 
         

 visibility:visible
 /*元素可見,默認值*/
 visibility:hidden
 /*元素不可見,但仍然為其保留相應的空間*/
 visibility:collapse
 /*只對table對象起作用,能移除行或列但不會影響表格的布局。如果這個值用
 
在table以外的對象上則表現為hidden。*/
 visibility:inherit
 /*繼承上級元素的visibility值。*/

 

 
         

 再來看一下display對應的幾個屬性的介紹:
 
display:none
 /*元素不可見,並且不為其保留相應的位置*/
 display:block
 /*表現為一個塊級元素(一般情況下獨占一行)*/
 display:inline
 /*表現為一個行級元素(一般情況下不獨占一行)*/

不好意思,我要華麗麗地加上一條鏈接,讓復制粘貼不注明文章出處的人幫我做個外鏈,抱歉。http://www.chunye39.com   純野原創博客

visibility和display中不可見的區別

估計看到這里,你也就大概知道了兩者的區別了吧。哈哈。雖然Visibility和Display屬性都可以隱藏一個元素,但它們之間的不同點在於visibility:hidden在隱藏一個元素的同時仍然在頁面上為該元素保留所需的空間,而display:none則表現得像把元素從頁面里刪除了,在頁面上看不出該元素還存在着。

如何運用?

區別知道了,但如何運用起來呢。在頁面開發中,表單元素(控件)不可見,你用visibility還是display?

下面說一個通用的方法。如果你想隱藏某元素,但在頁面上保留該元素的空間的話,你應該使用visibility: hidden 。如果你想在隱藏某元素的同時讓其它內容填充空白的話應該使用 display: none 。

實踐出真知

ok,最后獻上下午我寫的這個簡單的js小函數來做為實踐總結。這個小函數的功能是,當用戶選擇了下拉列表框后,獲取下拉列表框的值,根據這個下拉框的值來判斷某些元素(控件)可見或是不可見。很簡單滴。。。

 
         

 function ChangeReason() {
 if (ccbChangeReason.value == "A 建設銀行") {
 checkbox1.style.visibility = "visible";
 checkbox2.style.visibility = "visible";
 checkbox3.style.visibility = "visible";
 lblElseReason.style.visibility = "hidden";
 txtcElseReason.style.visibility = "hidden";
 }
 if (ccbChangeReason.value == "B 工商銀行") {
 checkbox1.style.visibility = "hidden";
 checkbox2.style.visibility = "hidden";
 checkbox3.style.visibility = "hidden";
 lblElseReason.style.visibility = "hidden";
 txtcElseReason.style.visibility = "hidden";
 }
 if (ccbChangeReason.value == "C 農業銀行") {
 checkbox1.style.visibility = "hidden";
 checkbox2.style.visibility = "hidden";
 checkbox3.style.visibility = "hidden";
 lblElseReason.style.visibility = "visible";
 txtcElseReason.style.visibility = "visible";
 }
 }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM