CSS{display:inline-block}

2002年W3C推出CSS2.1规范时,给元素的display属性增加了inline-block值。其作用是“这个值导致一个元素产生一个块状盒模型(block box),而本身作为单一的内联盒模型(inline box)流动排列(flow),类似一个被替代的元素。Display值为inline-block的元素内部形成一个块状盒模型,而本身形成类似一个内联的被替代元素”[1]。即display为inline-block的元素既可以像块状元素一样定义高度宽度,又可以和内联元素(比如文字)排列在一行。

这个效果在页面设计的时候,很多地方都可以带来便利,最常见的莫过于设计导航时,既可以像inline元素那样实现居中,又可以设置像block元素那样设置单个菜单大小,还可以通过text-indent来隐藏文字显示背景图片。请看 演示实例>>>>

  1. Opera和Safari支持这个属性。
  2. IE不支持这个属性IE8 beta1支持这个属性,但inline-block会触发IE的layout,从而使内联元素具有类似inline-block元素的属性。cross-browser : display:inline-block是一个很好的例子。
    对于display:block的元素,要实现类似inline-block的效果,可以先触发layout,再设置为inline,需要注意的是这两个display必须在两个CSS声明中才有效,代码如下:

    .pagination li{
        display:inline-block;
    }
    .pagination li{
        display:inline;
    }
    

    或者直接设置为inline,再利用zoom来触发layout来实现类似效果:

    .pagination li{
        display:inline;
        zoom:1;
    }
    
  3. Firefox也不支持这个,这个是蛮意外的事情,Firefox3应该会支持吧Firefox3 beta2上已经正式支持,在这之前可以利用其私有属性{display:-moz-inline-box}来实现类似效果是一个不错的选择[2]

您或许有兴趣:

标签:, ,

作者:秦歌,时间:2007-10-30 22:02,归纳于:HTML & CSS,订阅:RSS 2.0,引用:Trackback

有评论 21 条,发表一条新评论 »

柠檬园主说:2007-11-01 12:55 #1

我一般这样的地方都偷懒,嫌用UL,LI处理太麻烦了,就把所有链接依次排放,然后再控制左右间距.
不过你这个也确实是个不错的解决方法.

阿草哥说:2008-04-02 10:22 #2

你好 我今天遇见一个display的问题 可是看了你的文章这里还是没用啊
我用wp程序加了google广告结果文章中的p都是各自占据竖直方向一行
可以帮忙看下吗

秦歌说:2008-04-03 21:29 #3

我在你的blog上没有看到这样的问题,如果你还没有解决可以把URL给我,我有空的时候看看。

display:inline-block的应用两例 @ 随网之舞说:2008-04-05 9:18 #4

[...] CSS的display有属性值inline-block{display:inline-block;},下面是应用其来实现用图片替代文字的两个例子: [...]

口碑网UED Team » inline-block从入门到精通说:2008-04-05 19:46 #5

[...] 关于inline-block的详细分析可以参考学鹍的CSS{display:inline-block}或者圆心的display:inline-block的深入理解 [...]

akira » Blog Archive » inline-block从入门到精通说:2008-04-06 1:34 #6

[...] 关于inline-block的详细分析可以参考学鹍的CSS{display:inline-block}或者圆心的display:inline-block的深入理解 [...]

Mick说:2008-08-06 14:46 #7

如果inline-block这么有优势,为什么不把inline元素全部声明成inline-block元素呢?

秦歌说:2008-08-06 20:52 #8

任何一个东西都有适用范围,别走极端。你可以好好考虑为什么CSS2.0中display有block | none | inline | compact | marker | inline-table | list-item | run-in | table |table-caption | table-cell | table-column | table-column-group | table-footer-group | table-header-group | table-row | table-row-group这么多值吧?

inline-block从入门到精通说:2008-09-04 22:38 #9

[...] 关于inline-block的详细分析可以参考学鹍的CSS{display:inline-block}或者圆心的display:inline-block的深入理解 [...]

秋心说:2008-12-13 9:10 #10

嘻嘻,困扰的问题在看到以上内容时终于划上了句点,谢谢

display:inline-block详解 « WEB前端开发说:2009-03-25 23:19 #11

[...] 关于inline-block的详细分析可以参考学鹍的CSS{display:inline-block}或者圆心的display:inline-block的深入理解 [...]

» display:inline-block的几个应用及bug- WEB前端开发- 专注前端开发,关注用户体验说:2009-06-21 18:50 #12

[...] 秦歌的display:inline-block的应用两例和CSS{display:inline-block}; [...]

rainman说:2009-09-08 13:01 #13

喜欢文章里的链接,总会链接除许多优秀文章。

莔小花的日落旅馆 » display:inline-block再总结说:2010-01-24 17:17 #14

[...] 秦歌的display:inline-block的应用两例和CSS{display:inline-block}; 怿飞的display:inline-block的深入理解和模拟兼容性的 inline-block 属性; 乌龙茶的inline-block从入门到精通 前端观察的臭番茄的:跨浏览器的inline-block  display:inline-block的几个应用及bug:http://www.css88.com/archives/1465 分类: html/css 标签: 评论 (0) Trackbacks (0) 发表评论 Trackback [...]

CSS Hack 汇总快查 | 赤狼的角落说:2010-03-10 12:26 #15

[...] CSS{display:inline-block} — 秦歌 [...]

匿名说:2010-04-20 10:34 #16

直接把block删了就可以了

匿名说:2010-04-20 10:35 #17

直接将display的属性设置为空,因为block的属性就是显示

inline-block从入门到精通 « Koubei UED说:2010-07-08 21:00 #18

[...] 关于inline-block的详细分析可以参考学鹍的CSS{display:inline-block}或者圆心的display:inline-block的深入理解 [...]

智慧本 » CSS Hack汇总说:2010-10-06 15:38 #19

[...] CSS{display:inline-block} — 秦歌 [...]

display:inline-block的几个应用及bug | 最前端 - Rex's blog说:2011-11-26 19:36 #20

[...] 秦歌的display:inline-block的应用两例和CSS{display:inline-block}; [...]

未知高度的垂直距中方法及display:inline-block介绍 at Putaoshu's blog说:2012-05-03 21:54 #21

[...] 3.模拟兼容性的 inline-block 属性 4.inline-block从入门到精通 5.CSS{display:inline-block}6.display:inline-block的应用两例7.mozilla developer – css (2010-9-15 [...]

发表一条评论

您可以在下面评论内容中使用下列XHTML标签:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

您或许有兴趣:


回到页眉