巧用style的display隐藏对象

来源:互联网 发布:北京企业名录数据库 编辑:程序博客网 时间:2024/06/11 14:48

发现CSS一句话很经典:style="display: none",加在哪就能就隐藏哪,做了一个隐藏的上传文件框,点击本机上传或checkbox后出现,再点击又将其隐藏。实现代码如下:

 

<script language="JavaScript">
function fjian()
{
if(document.getElementById('fj').style.display=="none")
 {
 fj.style.display=""
 document.getElementById('sss').checked=true;
 document.getElementById('sss').value="是";
 }
else
 {
 document.getElementById('fj').style.display="none";
 document.getElementById('sss').checked=false;
 document.getElementById('sss').value="否";
 }

}
</script>
<body>
 <table border="1">
  <tr>
   <td>
    <input name="sss" id="sss" type="checkbox" onClick="fjian()">
    <A href="javascript:fjian()">本机上传</a>
   </td>

   <td></td>

  </tr>
  <tr style="display: none" id="fj">
   <td align="right" nowrap>
    上传附件
   </td>
   <td valign="baseline" style="padding-left: 5px">
    <input name="fujian2" id="fil" type="file" class="inputitem"
      size="40" maxlength="100">
  </tr>
 </table>
</body>

 

上网又搜了一些资料:

 

display : block | none | inline | compact | marker | inline-table | list-item | run-in | table | table-caption | table-cell | table-column | table-column-group | table-footer-group | table-header-group | table-row | table-row-group
取值:
block :  CSS1 块对象的默认值。将对象强制作为块对象呈递,为对象之后添加新行
none :  CSS1 隐藏对象。与 visibility 属性的hidden值不同,其不为被隐藏的对象保留其物理空间
inline :  CSS1 内联对象的默认值。将对象强制作为内联对象呈递,从对象中删除行
inline-block :  IE5.5 将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内
compact :  CSS2 未支持。分配对象为块对象或基于内容之上的内联对象
marker :  CSS2 未支持。指定内容在容器对象之前或之后。要使用此参数,对象必须和 :after 及 :before 伪元素一起使用
inline-table :  CSS2 未支持。将表格显示为无前后换行的内联对象或内联容器
list-item :  CSS2 将块对象指定为列表项目。并可以添加可选项目标志
run-in :  CSS2 未支持。分配对象为块对象或基于内容之上的内联对象
table :  CSS2 未支持。将对象作为块元素级的表格显示
table-caption :  CSS2 未支持。将对象作为表格标题显示
table-cell :  CSS2 未支持。将对象作为表格单元格显示
table-column :  CSS2 未支持。将对象作为表格列显示
table-column-group :  CSS2 未支持。将对象作为表格列组显示
table-header-group :  CSS2 将对象作为表格标题组显示
table-footer-group :  CSS2 将对象作为表格脚注组显示
table-row :  CSS2 未支持。将对象作为表格行显示
table-row-group :  CSS2 未支持。将对象作为表格行组显示

说明:
设置或检索对象是否及如何显示。
对于下列元素来说,此属性的默认值为 block :
ADDRESS QUOTE BODY XMP CENTER COL COLGROUP DD DIR DIV DL DT FIELDSET FORM Hn HR IFRAME LEGEND LISTING MARQUEE MENU OL P PLAINTEXT PRE TABLE TD TH TR UL

对于下列元素来说,此属性的默认值为 none :
BR FRAME nextID TBODY TFOOT THEAD

对于下列元素来说,此属性的默认值为 list-item :
LI

其他元素默认值都是 inline 。
在IE6.0以前的版本中, LI 对象的默认值为 block 。
在IE4.0中, block , inline , list-item 值不被支持。但是对象仍然会被呈递。
在IE5.0中开始支持 block 和 inline 。
在IE5.5中开始支持 inline-block 。你可以使用 inline-block 使对象获得布局而无需指定确切的高( height )和宽( width )。
在IE6.0中开始支持 list-item 。
所有可视的文档对象都是块对象(block element)或者内联对象(inline element)。例如, div 是一个块对象。 span 是一个内联对象。块对象的特征是从新的一行开始且能包含其他块对象和内联对象。内联对象被呈递时不会从新行开始,能够包含其他内联对象和数据。
改变此属性值对其周围内容布局的影响可能是:
在属性值设为 block 的对象后面添加新行。
从属性值设为 inline 的对象中删除一行。
隐藏属性值设为 none 的对象并释放其在文档中的物理空间。
table-header-group 和 table-footer-group 属性值可用来指定当表格( table )跨越了多页时, tHead 和 tFoot 对象的内容在每一页都显示。
此属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。
对应的脚本特性为display。