`

<转>IE6/IE7下:inline-block解决方案

 
阅读更多

 

IE6/IE7下对display:inline-block的支持性不好。
1、inline元素的display属性设置为inline-block时,所有的浏览器都支持;
2、block元素的display属性设置为inline-block时,IE6/IE7浏览器是不支持的;
      对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行,允许空格。(准确地说,应用此特性的元素现为内联对象,周围元素保持在同一行,但可以设置宽度和高度等块元素的属性)
     IE中对内联元素使用display:inline-block,IE是不识别的,但使用display:inline-block在IE下会触发layout,从而使内联元素拥有了display:inline-block属性的表征。从上面的这个分析,也不难理解为什么IE下,对块元素设置display:inline-block属性无法实现inline-block的效果。这时块元素仅仅是被display:inline-block触发了layout,而它本身就是行布局,所以触发后,块元素依然还是行布局,而不会如Opera中块元素呈递为内联对象。
 
IE6下块元素如何实现display:inline-block的效果?

有两种方法:
1、 先使用display:inline-block属性触发块元素,然后再定义display:inline,让块元素呈递为内联对象(两个display 要先后放在两个CSS声明中才有效果,这是IE的一个经典bug,如果先定义了display:inline-block,然后再将display设回 inline或block,layout不会消失)。代码如下(...为省略的其他属性内容): 

div {display:inline-block;...} 
div {display:inline;}

2、直接让块元素设置为内联对象呈递(设置属性display:inline),然后触发块元素的layout(如:zoom:1 或float属性等)。代码如下:

div { display:inline-block; _zoom:1;_display:inline;} /*推荐*/
div { display:inline-block; _zoom:1;*display:inline;} /*推荐:IE67*/
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    CSS属性display:inline-block用法深入理解

    对于内联元素,如`&lt;a&gt;`或`&lt;span&gt;`,在IE中设置`display:inline-block`虽然表面上看起来有效,实际上这是因为IE触发了"hasLayout"机制,而不是真正理解`inline-block`。对于块级元素,直接设置`display:inline-block`...

    深入display:inline-block

    `display:inline-block`是CSS布局中的一个重要属性,用于将元素...同时,CSS Flexbox和Grid布局的出现提供了更强大且兼容性更好的布局解决方案,但在某些场景下,`display:inline-block`仍然是一个简单且实用的选择。

    关于css display: inline block inline-block的区别分析

    - `display: inline-block` 在某些老版本的浏览器,尤其是IE6和IE7中,存在兼容性问题。在Firefox中,可以使用 `-moz-inline-box`,但会有副作用,例如`text-align`的问题,需要使用私有属性 `-moz-box-align` 解决...

    ChangMM#javascript-html-css-issue#CSS-兼容ie6、7的inline-block1

    其实我们以为应该是这样的:但是ie6,ie7是这样显示的:IE6/IE7下对display:inline-block的支持性不好。解决方案:直接让块元素设置为内

    跨浏览器的inline-block声明上承诺了很多提供的却很少

    对于那些不支持inline-block的旧版浏览器,例如Firefox2,解决方案是使用Mozilla特有的"-moz-inline-stack"属性。这个属性在支持它的浏览器中会忽略掉inline-block,而在不支持inline-block的浏览器中(如Firefox2)...

    浅谈inline-block及解决空白间距

    在示例代码中,我们看到一系列的 `&lt;a&gt;` 元素,它们设置了 `display: inline-block`,但它们之间存在明显的空白。 为了解决这个问题,我们可以采取以下两种方法: 1. **设置父元素的 `font-size: 0`**: 在父容器 ...

    CSS之display引用运用

    例如,在IE6和IE7中,可能会出现布局错乱的问题。 为了解决这些问题,可以采用以下几种方案: - **使用Polyfill**:对于不支持`display:inline-block`的浏览器,可以使用Polyfill来提供兼容性支持。 - **使用`...

    inline-block带来的元素间距问题解决

    本文主要关注`inline-block`元素的间距问题及其解决方案,同时也会对比`block`和`inline`的特性。 首先,`display: inline-block` 是一种混合型布局模式,它结合了`inline`元素的并排显示特性与`block`元素的宽高...

    Firefox Bug: inline/inline-block的间隙采用代码缩进可解决

    此外,随着CSS Flexbox和Grid布局的普及,`inline-block`在某些场景下的使用频率逐渐下降,这些新的布局方式提供了更强大且兼容性更好的解决方案,可以更好地控制元素的排列和间距,从而避免了类似`inline-block`的...

    IE6,IE7,IE8兼容性问题

    本文将针对IE6, IE7, IE8中常见的兼容性问题进行深入探讨,并提供相应的解决方案。 #### 二、CSS兼容性问题及解决方案 ##### 2.1 div的垂直居中问题 **问题描述**:在某些情况下,开发者希望将一个元素在其父容器...

    CSS布局解决方案.docx

    ### CSS布局解决方案 #### 前言 在前端开发中,布局是构建用户界面的关键步骤之一。良好的布局不仅能够提高网站或应用的可用性和用户体验,还能优化资源加载速度,提升性能。本文档将深入探讨几种常用的CSS布局技巧...

    IE浏览器下的图片空隙间距BUG和解决办法.pdf

    这个问题主要出现在IE浏览器的旧版本中,特别是IE6和IE7,而在现代浏览器如Firefox、Chrome、Safari等中则很少遇到。这个BUG表现为在设置好图片的margin和padding为0的情况下,图片之间仍然会出现不必要的间距。 ...

    CSS兼容IE6,IE7和FF的总结 .

    ### CSS兼容IE6, IE7和Firefox的技巧与总结 #### 概述 在Web开发过程中,确保网页在不同浏览器中的兼容性是一项重要的任务。早期的浏览器如Internet Explorer 6 (IE6)、Internet Explorer 7 (IE7) 以及 Firefox 对...

    最全的CSS浏览器兼容问题整理(IE6.0、IE7.0 与 FireFox)

    解决这个问题的一个常见方法是在IE6下为该元素添加`display: inline;`。 ```css #IamFloat { float: left; margin: 5px; /* 其他浏览器使用5px */ *margin: 10px; /* IE6/7使用10px */ display: inline; /* ...

    详解CSS 去掉inline-block元素间隙的几种方法

    &lt;div class="demo"&gt;&lt;span&gt;我是一个span&lt;/span&gt;&lt;span&gt;我是一个span&lt;/span&gt;&lt;span&gt;我是一个span&lt;/span&gt;&lt;span&gt;我是一个span&lt;/span&gt;&lt;/div&gt; ``` 2. **CSS设置父元素的font-size为0** 设置父元素的`font-size: 0`,可以使...

    button按钮在 IE 中两边被拉伸的解决办法

    在IE浏览器中,当`&lt;button&gt;`元素内部包含文字或图像时,可能会由于默认样式和盒模型差异,导致按钮内容在水平方向上被拉伸。这通常是由于IE的盒模型与W3C标准盒模型不同,以及IE对内联元素的渲染方式造成的。 ### ...

    css 行级元素在多浏览器下的宽度问题 与解决方法

    首先,让我们看看在FF3、IE6(使用IE Tester模拟)、IE7和Safari4中,行级元素使用`display: inline-block`的表现。在这些浏览器中,使用`&-n-b-s-p-;`(即非中断空格字符实体)的兼容性最佳。以下是一个示例代码: ...

    div错位解决IE6IE7IE8样式不兼容问题

    本文将详细介绍如何解决div错位问题以及针对IE6、IE7和IE8的样式不兼容解决方案。 #### 一、理解IE6、IE7、IE8的CSS渲染差异 1. **IE6的盒模型问题**:IE6在处理CSS盒模型时存在bug,导致元素的宽度计算出现问题。...

    CSS完美兼容IE6_IE7_FF的通用方法

    本文将详细介绍一种适用于IE6、IE7及Firefox的CSS兼容性解决方案。 #### 一、CSS Hack技巧 **1\. IE6/IE7/FF兼容Hack** 为了使CSS样式能够分别针对不同的浏览器进行定制,开发者经常采用CSS Hack技巧。例如,可以...

    Firefox, IE5, IE5.5, IE6, IE7, IE8多种浏览器兼容的问题

    本篇文章将针对Firefox、IE5、IE5.5、IE6、IE7以及IE8等浏览器之间的兼容性问题进行详细分析,并提供相应的解决方案。 #### 一、CSS Hack技巧 **1. 使用条件注释** 条件注释是Microsoft为IE提供的特性,可以用来...

Global site tag (gtag.js) - Google Analytics