以文本方式查看主题 - 咿思舞论坛 (http://bbs.145829.com/index.asp) -- 『网站资源』 (http://bbs.145829.com/list.asp?boardid=8) ---- CSS中碰到双陪边线inline-block的问题? . (http://bbs.145829.com/dispbbs.asp?boardid=8&id=790) |
-- 作者:admin -- 发布时间:2012/5/2 16:03:05 -- CSS中碰到双陪边线inline-block的问题? . display: inline-block; 这个东西困扰了我好久。不知道反正我在中文网站上没有找到让我一下子醒悟过来的解释。偶然间读到这篇英文,我觉得简短的几句话,把问题解释的很清楚。 就像我开始的时候不明白clear:both,但是有人告诉我说是“清除浮动造成的影响”一样, 一下子就幡然醒悟了。 原文:http://www.impressivewebs.com/inline-block/ 如果你已经使用CSS做过一段时间的开发,相信你对display: inline-block一定不陌生.它最主要的用在IE6中消除float元素的双边距。简单的解释一下,如果你给一个浮动元素与之浮动的方向相同的方向一个margin, 则这个元素的边距会加倍。如果你对这个bug很熟悉,你可以有两种方法消除它, 一是通过hack只给一半的margin, 二是给这个元素display: inline-block; display: inline。 当然如果你对inline-break足够的理解, 除了这个用处以外,它还可以用在很多场合。 怎么给inline-break下一个定义呢?看看别人怎么说: According to Sitepoint’s CSS Reference: inline-break 使该元素产生一个展示出来像inline一样的block box.(有点晕) inline-block 像inline一样放置(比如和它相邻的元素处在同一行),像block一样表现。 通常来说,inline-break是inline元素,但是保留了block的一些特性,比如,可以设置高宽内外边距等。 我个人认为Robert Nyman的解释最好,因为它更具有实践意义。 你可以尝试一下这段代码,
什么场景下是用inline-block?
需要注意的问题 inline-block一些很重要的因素和缺点需要牢记在心。inline-block对相邻的空格敏感,所以如果你要使用inline-block水平排列一些元素,比如一个导航条,你需要想办法不让这种事情发生。 办法一:像这样书写li:
办法二:ul的font-size=0。 如果你一排放置多个高度不一的inline-block元素,你需要通过vertical-align来设置他们的垂直对齐方式。 是否跨浏览器? inline-block可以在除了ie6/7以外的所有浏览器上工作的很好。但是针对ie6/7可以通过这种方式hack: { display: inline-block; *display: inline-block; zoom: 1; } 我的一些实践: <ul class="u1"> .u1{ .u1 li{ |