zoukankan      html  css  js  c++  java
  • 关于table的display问题

       table在布局中是个很奇怪的元素,它是内联的,也就是说,首尾没有换行,可是和span等内联元素不同的是,它是可以设长宽,也可以设边距的。也就是说,它集合了两者的特点于一身。这种元素很有趣,类似的还有input标签和img标签。呵,我称它们为隐藏的display属性。在做特殊样式的按钮的时候,我总是喜欢把input设背景,而不用a标签设背景,原因就在于a标签如果要设背景,必须改成块级元素,而块级元素首尾会有换行。众所周知,IE下,关于display只有none,inline,block这几种选择。在块级元素竖直居中的问题中,FF下,我们可以用display:teble-cell来控制它,再设vertical-align:middle;就可以了。可是,IE下不行。原因就是IE下display的类型太少。有趣的是,如果我们直接就用table来布局,不用display:table-cell的话,vertical-align:middle;就有效果了。也就是说,IE下其实还是内置了对table-cell的解释引擎,只是不提供css来改变,而只针对table标签采用。

       今天在做一个效果时,遇到一个问题。对于一个报表型的数据,我用了table来布局,然后对其中的几个tr设了display:none;隐藏起来。这里都没有问题。再然后,我通过js让tr显示出来,习惯性地我就设了display:block;结果IE下没有问题,而FF下显示就出了状况。用firebug看了下,FF下设了display:block的tr一点高度也没有,就像是用了float一样,试着设了下display:inline和display:inline-block;还是不行。最后,用了一个display:table-row;就显示正常了。这些属性平时很少有机会用得上,感叹一下FF对css的引擎丰富程度 。
  • 相关阅读:
    .NET 异步详解
    spring batch简介
    Nginx 配置文件介绍
    局域网内组播
    qt自定义信号函数的那些坑
    传输文件到远程服务器
    vim复制指定行
    腾讯云获取公网ip
    ifconfig添加或删除ip
    程序中tar压缩文件
  • 原文地址:https://www.cnblogs.com/cly84920/p/4427150.html
Copyright © 2011-2022 走看看