display和visibility元素隐藏的比较
<input type="button" value="隐藏"
onclick="document.getElementById('text1').style.display='none';"/>
<input type="button" value="显示"
onclick="document.getElementById('text1').style.display='';"/>
<div id="text1">使用display控制对象显示和隐藏/div>
<input type="button" value="隐藏"
onclick="document.getElementById('text2').style.visibility='hidden';"/>
<input type="button" value="显示"
onclick="document.getElementById('text2').style.visibility='visible';"/>
<div id="text2">使用visible控制对象显示和隐藏</div>
元素显示时的状态
display=""
visibility=‘visible’
使用display元素隐藏后状态
使用display="none"隐藏元素时,元素所占空间也会被释放,这样该元素之下元素相应补齐失去的位置,会造成元素的移动。
使用visibility元素隐藏后状态

多栏布局的实现方式
使用visibility="hidden"隐藏元素时,元素所占空间不会被释放,元素隐藏后所占空间为透明。<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>多栏布局</title>
<style type="text/css">
div#container{
width:960px;
}
div>div{
border:1px solid #aaf;
display:inline-block;
box-sizing:border-box;/*是盒子的外层宽度保持不变*/
padding:10px;
height:100px;
}
</style>
</head>
<body>
<div id="container">
<div style="width:220px;">style="width:220px;</div>
<div style="width:500px;height:500px">style="width:500px;</div>
<div style="width:220px">style="width:220px;</div>
</div>
</body>
效果图如下
使用display:inline-block实现多栏布局
在多栏布局时,页面总width不能小于总栏目width,否则超出的元素会偏移到下行。
border:1px solid #aaf;
border是一个复合属性,其中1px是设置元素边框为1像素,solid为实线,#aff为边框颜色
display:inline-block;
inline-block设置为内联块方式,可以将元素横向摆列并且可设置width和height
box-sizing:border-box;
在设置border和padding所占宽度压缩至margin中实现元素在设置相应属性后,元素布局保持不变。