CSS布局带来的巨大影响:CSS display属性值


应原书编辑要求,先在文章顶部给出链接:《Everything You Know About CSS Is Wrong》http://www.sitepoint.com/books/csswrong1/

这本书是10月发行的新书,为了避免版权纠纷,如要转载本文请保留以上链接,并遵循该 CC2.5协议。

从 digital-web 的首页上看到一个标题党《Everything You Know About CSS Is Wrong》,被雷过之后仔细看了下原文,发现了一种新的CSS布局思路(其实就是详细介绍了display:table属性)。在IE6仍是王道的时代谈这种技术为时过早,全当是练习英文翻译贴出来给大家分享下,欢迎大家指点不足之处。

—————————以下是中文翻译——————————–

当IE8发布时,它将支持很多新的CSS display属性值,包括与表格相关的属性值:table、table-row和table-cell,它也是最后一款支持这些属性值的主流浏览器。它标志着复杂CSS布局技术的结束,同时也给了HTML表格布局致命一击。最终,使用CSS布局来制作出类似于table布局的栅格将会变得十分迅速和简单。
网页元素应用上那些与表格相关的display属性值后,能够模仿出与表格相同的特性。我将会在该文中给大家演示这种方法给CSS布局带来的巨大影响。

使用CSS表格

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"> 
  <head> 
    ? HTML head content…
  </head> 
  <body> 
    <div id="wrapper"> 
      <div id="header"></div> 
      <div id="main"> 
        <div id="nav"> 
          ? navigation column content…
        </div>
        <div id="extras">
          ? news headlines column content…
        </div>
        <div id="content">
          ? main article content…
        </div>
      </div>
    </div>
  </body>
</html>

这份HTML源代码满足了内容呈现方面的要求。先是导航栏,然后是附加栏,最后是内容栏。
我们同样需要将以下CSS样式应用上去:

#main { 
  display: table;
  border-collapse: collapse;

 
#nav { 
  display: table-cell;
  width: 180px;
  background-color: #e7dbcd;

 
#extras { 
  display: table-cell;
  width: 180px;
  padding-left: 10px;
  border-right: 1px dotted #d7ad7b;

 
#content { 
  display: table-cell;
  width: 380px;
  padding-left: 10px;
}

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

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



相关阅读:
Apache+Servlet+Jsp环境设置(中)
分页显示Oracle数据库记录的类之一
Exchange数据库执行可靠恢复操作
Vista破解激活七种方法
asp.net SqlDataAdapter对象使用札记
H标记要在网页制作中合理使用
javascript(对象.属性)集锦之三
XP文件路径显示调整为Vista风格
JSP编写WAP输入中文乱码问题
利用web服务实现自动完成输入
ASP.NET 2.0,无刷新页面新境界
疑难解答:怎样使用Access数据库压缩文件
PHP学习笔记之数组篇
asp IsValidEmail 验证邮箱地址函数(email)
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 西藏阿里导游词 爱情谜语及答案 致“梦幻雪天使”一首诗作文200字 闲适隐逸诗 81建军节的诗歌:八一建军节快乐 颓废的我 初中初一作文700字:秋风,落叶,我的牵挂 小学生秋季开学典礼主持词2016 回忆总是凄凉 坚信一个理念我会开拓一片天空 党风廉政讲座:开创党风廉政建设和反腐败斗争新局面 把握今生,莫想来世 明月——月光流淌 捐款作文800字 就算时间累了也不会向我臣服 2015关于开展计划生育奖励扶助制度工作总结 2012年银行后备现金管库员个人工作总结 2016公务员面试自我介绍内容 朝花夕拾阿长与山海经读后感 小学生作文:蟾蜍 赞颂竹子的诗句 初中初二作文1000字:初中八荣八耻读后感 入党积极分子自传书_入党自传 纵有千般思念,更与何人说! 下辈子死也在一起 仰望星空与脚踏实地作文 三月的声音七《一封春天的旧信》 最新工商行政工作计划 网络第一聊天泡妞高手的聊天记录! 天哪,壁虎作文500字 少年的悠闲生活 说诚信作文700字 《开学第一课》观后感750字 现在的曾经;一作文1000字 略论建筑工程施工管理 爱的方法 军训心得体会作文范文 有关爱情的伤感经典句子 【原创】池横诗歌〈254一1000〉爬出来的灵魂 小学六年级作文1000字:让心河绿水长流 我有一个美丽的家。 这个双休日我好倒霉350字 面对挫折的名言 千锤百炼还坚韧,任尔东南西北风 你怨天怨地怨别人,怎么不怨你自己? 木偶奇遇记读后感[1000字] 我心中的灯作文600 以合作为话题的作文800字 让我们拥有合作,拥抱成功吧 家人不同意你和男朋友你会怎么选择?说的太好了 2016学习摆脱贫困心得体会 春华正茂

Copyright © 2016 phpStudy |