CSSdisplay:table属性用法解析

本节和大家重点讨论一下CSS display:table的使用,当IE8发布时,它将支持很多新的CSS display属性值,包括与表格相关的属性值,CSS表格能够解决所有那些我们在使用绝对定位和浮动定位进行多列布局时所遇到的问题。

CSS display:table属性

当IE8发布时,它将支持很多新的CSS display属性值,包括与表格相关的属性值:CSS display:table、 CSS display:table-row和CSS display:table-cell,它也是***一款支持这些属性值的主流浏览器。它标志着复杂CSS布局技术的结束,同时也给了HTML表格布局致命一击。最终,使用CSS布局来制作出类似于table布局的栅格将会变得十分迅速和简单。

网页元素应用上那些与表格相关的display属性值后,能够模仿出与表格相同的特性。我将会在该文中给大家演示这种方法给CSS布局带来的巨大影响。

使用CSS表格

CSS表格能够解决所有那些我们在使用绝对定位和浮动定位进行多列布局时所遇到的问题。例如,“CSS display:table;”的CSS声明能够让一个HTML元素和它的子节点像table元素一样。使用基于表格的CSS布局,使我们能够轻松定义一个单元格的边界、背景等样式,而不会产生因为使用了table那样的制表标签所导致的语义化问题。

在深入了解这种方法之前,让我们先来写份HTML文档实例:

 
 
 
  1. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
  2. lang="en-US"> 
  3.  
  4. ?HTMLheadcontent…  
  5.  
  6.  
  7.  
 
  •  
  •  
  • ?navigationcolumncontent…  
  •  
  •  
  • ?newsheadlinescolumncontent…  
  •  
  •  
  • ?mainarticlecontent…  
  •  
  •  
  •  
  •  
  •  
  • 这份HTML源代码满足了内容呈现方面的要求。先是导航栏,然后是附加栏,***是内容栏。我们同样需要将以下CSS样式应用上去:

     
     
     
    1. #main{  
    2. display:table;  
    3. border-collapse:collapse;  
    4. }  
    5.  
    6. #nav{  
    7. display:table-cell;  
    8. width:180px;  
    9. background-color:#e7dbcd;  
    10. }  
    11.  
    12. #extras{  
    13. display:table-cell;  
    14. width:180px;  
    15. padding-left:10px;  
    16. border-right:1pxdotted#d7ad7b;  
    17. }  
    18.  
    19. #content{  
    20. display:table-cell;  
    21. width:380px;  
    22. padding-left:10px;  
    23. }  
    24.  

     这种基于表格的新CSS布局方式能够正确的在IE8、Firefox、Safari和Opera(译者注:包括FF2/FF3/Google都通过了测试)中显示出来。下面这张图片是它在IE8中的样子:

    我们轻松实现了三栏等高布局,而无需使用伪造背景图片之类的技巧,更不用担心定位和清除浮动的问题!

    【编辑推荐】

    1. 使用CSS display:none时注意事项
    2. CSS display:inline和float:left两者区别
    3. 深入探究DIV CSS布局中position属性用法
    4. CSS属性display:inline-block使用揭秘
    5. CSS display:block显示布局错乱解决方案

    文章标题:CSSdisplay:table属性用法解析
    链接分享:http://www.mswzjz.cn/qtweb/news35/414335.html

    攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

    广告

    声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能

    贝锐智能技术为您推荐以下文章

    网站维护知识

    同城分类信息