IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

CSS的未来:明智的布局工具终于到来

RockUX | WEB、前端、JavaScript、PHP 2011-08-22 12:28:26 累计浏览 4,052 次
本机暂存

    HTML5和CSS3为网页设计人员提供了新的语义标签,奇特的动画,服务端字体等等,然而并不仅仅是这些。网页设计下一个主要的发展可能会围绕HTML5和CSS3都没有关注的一点――页面布局。

    对于这两项新技术中的所有出色的新工具来说,使页面元素按你希望的方式自动布局的任务依然没有完成。人们通常使用浮动,绝对定位以及偶尔使用JavaScript来完成该工作,但是对于只是将元素定位在页面上这样的任务来说,这些代码就显得有些繁琐了。

    肯定有更好的方法。比如,如果你可以很简单地使用很少行数的代码来定义一个box并在里面定位子元素不是很美好么?代码有可能像这样:

 section { display: box;}
 section p#first { box-flex: 3;}
 section p#second { box-flex: 2;}

    这些CSS规则告诉浏览器我们的section标签应该是一个box。在box里面有两个并排的段落,其中第一个比第二个占去稍微多一点的空间。浏览器通过box-flex规定的比例计算两个p标签的宽度并显示结果――没有浮动,没有像素宽度,不需要其它规则。

    如果这对你来说是个好消息,那么你肯定会很高兴地听到上面的代码在最新的Firefox,Safari和Chrome下已经可以使用了,它们都支持W3C的灵活盒布局模块

    了解过程――因为每一项出现在web标准时总是会有一个了解过程――是W3C正计划一个针对灵活盒布局语法进行重大的重写。换言之,试验性的项目可以很好地使用灵活盒布局规则(vendor prefixes支持你),但是在产品代码里不要使用它。要了解灵活盒布局规则是如何工作的,签出Google开发者Paul Irish的write up on HTML5Rocks

    灵活盒布局模块不是W3C考虑的唯一改进布局的CSS工具。还有两个其它的标准也在考虑之中――模板布局(基于Mozilla的XUL语法),以及网格定位。这三种方法使用不同的语法来完成相似的任务,所以它们不可能最终都成为官方标准。当前灵活盒布局模块和模板布局用得比较多一些。

    想大体了解这三种模块是如何工作的,可以下载网页开发者Peter Gasston最近在伦敦Web标准会议上的演讲的视频。Gasston演讲的标题是“How We’ll Lay Out Websites In 2016”,但是我们乐观地认为这些工具将可以更早得多地工作于大部分浏览器中。

    当然还有一个大问题――Internet Explorer,它不支持其中的任何一种工具(一些灵活盒布局工具的支持出现在早期发行的IE9预览版中,但是好像在最新的预览版中好像又去掉了)。但是有一些好消息,特别是对于灵活盒布局模块,已经有JavaScript polyfill for older browsers来模拟。

    虽然灵活盒布局模块非常酷,但是要在产品中使用这些新规则还需要一点时间。浮动,绝对定位和其它笨拙的布局工具还将伴随我们,便是至少一些更好的东西已经开始出现在我们的视野了。

    查看英文源文

同分类推荐文章

  1. translateZ() (2026-06-25 21:18:56)
  2. translateY() (2026-06-25 21:17:56)
  3. translateX() (2026-06-25 21:16:01)

查看更多 前端 文章 →

建议继续学习

  1. 50个活力和动感的网页设计-颜色的灵感 (累计阅读 34,442)
  2. HTML5 离线缓存-manifest简介 (累计阅读 17,103)
  3. HTML 5 的data-* 自定义属性 (累计阅读 14,349)
  4. 视觉设计前瞻实用性研究(PNVD) 第二期 (累计阅读 12,977)
  5. 各公司对前端开发的职位描述 (累计阅读 10,406)
  6. iframe大小自适应 (累计阅读 10,057)
  7. jQuery的data()方法 (累计阅读 8,651)
  8. 浏览器的渲染原理简介 (累计阅读 8,377)
  9. 解决IE6从Nginx服务器下载图片不Cache的Bug (累计阅读 8,357)
  10. 程序员眼里IE浏览器是什么样的 (累计阅读 8,011)