CSS:Firefox 4 将支持CSS3 calc方法

分类:CSS、XHTML, 前端工程译文 发表时间:2010年06月12日 字体大小:12号14号

该文是用来讲解CSS3中calc()方法,这一功能特性在Firefox之前的任何版本中都没曾集成,但在Firefox4版本中它将得以实现。

Firefox将支持CSS3 calc(),它通过一个算术表达式用来计算出一个长度值。这就意味着你可以用它来定义DIVs的大小,margins的值,borders的宽度,等等。

一、calc()

例子一:下面的例子用来展示一个棘手的布局问题,通过CSS3 calc()可以轻松实现:

1
2
3
4
5
6
7
8
9
10
/*
* 两个DIVs对准,外间距为1em
*/
#a {
  width:75%;
  margin-right: 1em;
}
#b {
  width: -moz-calc(25% - 1em);
}

不使用calc()的话,若通过百分比来控制宽度,并希望有1em外间距时,是无法实现的。当我们使用到外间距是,必须用页面宽度减去两个DIVs的宽度,这样的话就不够灵活了。

例子二:通过calc()计算以保证一个input框的宽度不会超出其父标签的宽度:

1
2
3
4
5
6
input {
  padding:2px;
  border:1px solid black;
  display:block;
  width: -moz-calc(100% - 2 * 3px);
}

一个重要的特性是:在calc()方法的算术表达式中可以联合多个不同的单位进行计算:

1
width: -moz-calc(3px + 50%/3 - 3em + 1rem);

calc()方法支持+, -, *, /, mod, min, 和 max 运算符。

二、min() | max()

另外:Firefox4将也支持min() 和 max()方法,使用如下:

1
2
3
4
div {
  height: -moz-min(36pt, 2em);
  width: -moz-max(50%, 18px);
}

资料参考来自:http://hacks.mozilla.org/2010/06/css3-calc/ | http://www.w3.org/TR/css3-values/#calc

你也许会喜欢阅读这些:

不错不错,已经有 个评论!
  1. ff4什么问题发布呀?看主题 挺好看的哈。

    • 貌似9月份吧!!

  2. 越来越多的页面将会not for IE。。。。。

    • 在国外IE6的市场份额已经非常低了,中国互联网用户太多了,意识落后,中国要走出这个窘地还不知道要多少年的时间呢!!

  3. 额,又把IE抛弃了

  4. 啊 !我一直在使用chrome 呵呵!感觉不错呢!

  5. 很少用这个浏览器。

    • 我是一直在用火狐的,比较适合开发人员使用!!

  6. FF比ie好用多了··现在基本不用ie了··很多时候用FF。偶尔用charome

  7. 来请教个问题:
    如下面代码:

    用JQuery获取它们$(“li”)后。如何分别给它们设置不同的CSS属性?除了用for循环的方法外还有没有简单点的呀!

    • 没看到代码,each方法也可以的

  8. 晕。这代码被解析了。比如说这个:
    <ul>
    <li></li>
    <li></li>
    <li></li>
    </ul>
    获取li:$(“ul li”)现在我要分别设置每个li不同的样式。each方法没法给某个单独的li设置样式!当然用each给每个li加上一个递增的class也可以。不过有没有一个简单点的方法呢?

    • var $listItem = $(“ul li”);
      $listItem.eq(0).css(‘..’,’..’)
      .end().eq(1).css(‘..’,’..’)
      .end().eq(2).css(‘..’,’..’)
      .end().eq(3).css(‘..’,’..’);
      这样如何?

  9. @Hiro 哈哈。多谢谢啦~

  10. 博主用上firefox了?

  11. 博主用上firefox 4了?

    • 装个个beta1的玩了,和老版本不冲突的,只是不能同时开两个版本的Firefox而已!

  12. 我不喜欢FF,听歌都有点麻烦。之前我试了4个浏览器,现在终于不行了,还是用IE8比较好。

我要评论

  • * *