demo01:
visibility隐藏的对象还保留对象显示时所占的物理空间,display则不保留。可以保存下面的代码看看效果:
具体步骤:
代码示例:
<div style="border:1px solid #000;background:#eee">
<span style="200;height:200;visibility:hidden"></span>
←SS属性为visibility:hidden的对象
</div><br>
<div style="border:1px solid #000;background:#666">
<span style="200;height:200;display:none"></span>
←SS属性为display:none的对象
</div>
特别提示
用visibility属性控制隐藏的对象还占据着它显示时的位置,而display则没有。
特别说明
display属性设置元素的显示方式,对应脚本特性为display,可选值为none、block和inline,各值的说明如下:
none 隐藏元素,不保留元素显示时的空间。
block块方式显示元素。
inline 以内嵌方式显示元素。
inline-block对象显示为内嵌元素,但所有子对象都显示为块元素,相邻的内嵌元素将显示在同一行,允许空格。
list-item 将块元素显示为列表对象,并可以添加项目标点。(需要IE6.0+支持)
table-header-group 将元素作为表格标题组显示,相当于tHead元素。
table-footer-group 将元素作为表格脚注组显示,相当于tFoot元素。
visibility属性设置是否显示元素,对应的脚本特性为visibility,可选值为inherit、hidden和visible,各值的说明如下:
inherit 继承父元素的visibility属性设置。
hidden 隐藏元素,但保留其所占空间。
visible 显示元素(默认值)。
demo02:
有三种方法实现,原声js两种,还有一种jquery的,其实只是写法不同。方法如下:
<div id="show" style="display:none;"> <p>显示内容</p> </div> <div id="switch" onclick="showdiv()">点击显示</div> <script language="javascript"> /*原生的js写法*/ function showdiv(){ if(showdiv_display = document.getElementById('show').style.display=='none'){//如果show是隐藏的 document.getElementById('show').style.display='block';//show的display属性设置为block(显示) }else{//如果show是显示的 document.getElementById('show').style.display='none';//show的display属性设置为none(隐藏) } } /*原生简写(三元运算)*/ function showdiv(){ /* 原理相同只是写法不同,判断show的display是不是none 是则设为block显示不是则设为none隐藏 */ document.getElementById('show').style.display = document.getElementById('show').style.display=="none"?"block":"none"; } /*jquery*/ function showdiv(){ if($("#show").css("display")=='none'){//如果show是隐藏的 $("#show").css("display","block");//show的display属性设置为block(显示) }else{//如果show是显示的 $("#show").css("display","none");//show的display属性设置为none(隐藏) } }