博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
表单元素(控件)不可见,你用visibility还是display?
阅读量:7209 次
发布时间:2019-06-29

本文共 1976 字,大约阅读时间需要 6 分钟。

hot3.png

display和visibility混淆,它们看似没有什么不同,其实它们的差别却是很大的。在做表单元素不可见上,你用你用visibility还是display?本文给你讲解。

AD:

本节通过向大家描述displayvisibility的差别,来向大家说明在表单元素(控件)不可见上,你应该用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  

/*表现为一个行级元素(一般情况下不独占一行)*/ 

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";  }

转载于:https://my.oschina.net/u/1866821/blog/304075

你可能感兴趣的文章
设计模式之十(外观模式)
查看>>
Dapper的语法应用
查看>>
easyui的validatebox重写自定义验证规则的几个实例
查看>>
ubuntu下定时任务的执行
查看>>
Effective C++ 条款44
查看>>
如何用消息系统避免分布式事务?
查看>>
Linux curl使用简单介绍 (转)
查看>>
Deep Learning(深度学习)学习笔记整理系列之(一)
查看>>
查看sqlserver被锁的表以及如何解锁
查看>>
WinCE的开发流程
查看>>
iOS网络层架构设计分享
查看>>
从 ReactiveCocoa 中能学到什么?不用此库也能学以致用
查看>>
linux上TCP connection timeout的原因查找
查看>>
DTMF的原理分析
查看>>
MODBUS-RTU通讯协议简介
查看>>
摄像机旋转约束问题及解决
查看>>
在.net中序列化读写xml方法的总结(转载)
查看>>
VC++ 使用CreateProcess创建新进程
查看>>
百度贴吧高考作文强贴
查看>>
管理 windows server 2003 的远程连接
查看>>