发布一个小时后,总感觉不安,查询了一些资料,决定修改本篇。
原文标题是:认知:IE6、IE7的确不识别display:inline-block属性,内容如下:
-------------------------------------自制分割线-----------------------------------------
虽然布局中经常用到display:inline-block,ie6,ie7也确实表现的跟“真”的一样,但是这 哥俩 确实是不识inline-block为何物的。。。
因为我曾经试着对div设置display:inline-block;来布局,FF没有问题,但是ie6不行依然将div解析为block,当时偶觉得是ie的bug。
今天在群里偶然被提起了,一位童鞋提供了一个网址,看了以后深表认同,看到此文的第一句
vapour 写道
在IE6、IE7中不识别display:inline-block属性,但使用inline-block属性在IE下会触发layout,从而使内联元素拥有了display:inline-block属性的表症。
立马就想到了之前div inline-block的尝试,无需犹豫了。
此文写的很清楚了,偶就无需多说,贴上链接,有研究的可以详细参看:
http://www.dovapour.com.cn/article/20090611175.html
-------------------------------------自制分割线-----------------------------------------
每个人都有自己的一些认知,建立在当前的基础之上,但是认知可以有进步。
对于这样的原文,感觉不安,于是还是多查点资料确认的好,否则误人误己。
苏昱(Rainer Su)出品的CSS手册,display一节有云:
写道
在IE5.5中开始支持 inline-block 。你可以使用 inline-block 使对象获得布局而无需指定确切的高( height )和宽( width )。
在IE6.0中开始支持 list-item 。
这样说就是 IE5.5就支持inline-block了,IE6/7当然也支持,但是如何解释 块级元素无法呈现inline-block的效果呢?继续找资料。
找了几篇外国资料,取一个有代表性的:
http://www.quirksmode.org/css/display.html
截图:
IE6/7对于inline-block的支持处于不完全状态:
写道
In IE 6 and 7 inline-block works only on elements that have a natural display: inline.
意思是说,IE6/7的inline-block属性只对原生默认的内联元素(span, a, em......)有效,对于块级元素(div,p,ul......)无效。
另外一个参考:http://homepage.ntlworld.com/spartanicus/ie_block_level_element_inline-block_hack.htm
写道
IE doesn't apply the value inline-block for the CSS display property on HTML elements that default to block level.
那么现在有两个结论:
1、IE6/7不识别inline-block,只是触发了layout,表现跟真实一样。
2、IE6/7不完全支持inline-block,只对内联元素有效。
两者,我更倾向于第二个结论。如果你有更好的证据,请讨论。
不断纠正认知!
- 大小: 31.7 KB
分享到:
相关推荐
2. **兼容性问题**:虽然 `display:inline-block` 在现代浏览器中支持良好,但在一些较旧的浏览器,如IE6/7,需要使用 `*zoom:1` 或 `display:inline` 并结合 `*display:inline` 来实现兼容。 3. **内联限制**:尽管...
本篇文章将深入探讨`display:inline`、`display:block`以及`display:inline-block`这三种主要的显示模式之间的区别,帮助你更好地理解它们在实际开发中的应用。 首先,我们来看`display:inline`。这种模式使得元素...
然而,IE6和IE7这两个较老的浏览器对`display:inline-block`的支持并不完善,这给开发者带来了不小的困扰。为了解决这个问题,本文将详细介绍两种方法,使得这些旧版IE浏览器也能正确地处理`display:inline-block`。...
早期版本的Firefox不完全支持此属性,而是使用其私有属性`-moz-inline-box`,但这个属性存在一些问题,比如可能导致文本对齐问题,需要使用`-moz-box-align`来解决。由于这些限制和潜在的兼容性问题,通常建议避免...
在网页布局设计中,`display:inline-block` 是一个非常常用且强大的CSS属性,它允许元素在保持块级元素特性的同时,像内联元素一样并排显示。然而,在不同浏览器之间,尤其是在Firefox(FF)上,可能会遇到一些显示...
首先,我们需要澄清一个误区:IE6和IE7并非完全不支持display:inline-block。早在IE5.5,微软就已经引入了对这个属性的支持。但与现代浏览器相比,IE5.5至IE7的实现并不完整,存在一些特定的行为和限制。例如,当在...
IE 6 和 7 不直接支持 `display:inline-block`,但在某些情况下,对内联元素设置 `display:inline-block` 会触发 "layout",这是一种 IE 特有的行为,使元素获得类似 `display:inline-block` 的效果。然而,对于块级...
IE6不支持这个属性,但IE8开始支持这个属性。 让IE6内联元素具备inline-block特性 由于inline-block会触发IE的layout,所以IE6中只要设置{display:inline-block;}即可。 让IE6区块元素具备inline-block属性,有两...
ie6,ie7的haslayout属性是个让人头疼的问题。在做导航条的时候,一般会用到ul li结构,大多数时候我们是把li设置为浮动,让其并排显示在同一行。还有一种方法就是设置li为display:inline;这样可以达到同样的效果,...
但很遗憾,最流行的 IE 和 Firefox 却不支持这个属性(在 Firefox3 版本中将会支持 display:inline-block)。不过 Firefox 下却有私有属性 -moz-inline-box 和inline-block 形似,为什么是“形似”而不是“神似”呢...
需要注意的是,`display: inline-block`在Internet Explorer 6和7中不被支持,需要使用特定的技巧来处理,例如使用`*zoom: 1;`和`display: inline;`的组合,或者利用`inline-table`等其他方法来模拟`inline-block`的...
其实我们以为应该是这样的:但是ie6,ie7是这样显示的:IE6/IE7下对display:inline-block的支持性不好。解决方案:直接让块元素设置为内
在IE6和IE7中,`display:inline-block`并不会直接生效,但可以通过触发"hasLayout"机制来模拟`inline-block`的效果。当一个元素设置了`display:inline-block`,即使IE不识别这个属性,也会因为这个设置而触发...