本来今天想出JavaScript继承的博文的,由于也才刚学习不久,以及工作比较忙,所以暂推两天写JavaScript的继承,喜欢的童鞋们关注我的博客哟!

  okay,言归正传。之前在接触前端的时候,处理各种浏览器的兼容问题,现在也有了一定的积累,对IE系列的CSSbug也写了一篇博文,喜欢的童鞋可以点击此处查看。

  inline-block是CSS2.1属性,而大家经常会这么处理ie6、7下的inline-block

.selector {
display: inline-block;
*display: inline;
*zoom:;
}

   这样来说处理ie6、7的兼容就不会有问题,久而久之大家也就习惯了,觉得是ie6、7不支持inline-block属性而需要写个hack来改变他的显示方式,然而真的是这样吗?其实早在ie5.5就已经开始支持inline-block了,只是支持的并不是那么完善。可参考MSDN:http://msdn.microsoft.com/zh-cn/library/ie/ms530751(v=vs.85).aspx。接下来,作者将带大家来证明一下ie5.5以上的浏览器是否真的支持inline-block。

  首先大家看下面这个例子:

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
html, body, div, span {margin:; padding:}
.wrapper span {
display: inline-block;
width: 100px;
height: 100px;
border: 1px solid #000;
}
</style>
</head>
<body>
<div class="wrapper">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
</body>
</html>

  可以看到,我为行元素<span>设置了display: inline-block;属性,结果如何呢?(由于作者的IETester出了点问题,IE5.5和IE7不能打开,因此我使用IETester打开IE6,用IE10的浏览器模式切换至IE7)

  

  可以看到,身为行元素的<span>在IE6及IE7下神奇的可以设置宽高了,并且是在同一行(废话)。看来行元素在ie6、7是可以设置inline-block的,那么块元素呢?

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
html, body, div, span {margin:; padding:}
.wrapper div {
display: inline-block;
width: 100px;
height: 100px;
border: 1px solid #000; }
</style>
</head>
<body>
<div class="wrapper">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</body>
</html>

  可以看到块元素在IE6、7下是无法设置inline-block的,因此可以得出结论,IE6、IE7实际上是支持inline-block的,只是支持不那么全面。至于列表元素大家可以下去尝试一下<li>。因为我们才使用如下代码对块元素在IE6、7下使用inline-block做兼容处理。

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
html, body, div, span {margin:; padding:}
.wrapper div {
display: inline-block;
*display: inline;
*zoom:;
width: 100px;
height: 100px;
border: 1px solid #000;
}
</style>
</head>
<body>
<div class="wrapper">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</body>
</html>

  而此代码对行元素同样实用,因此不管三七二十一,上来直接display: inline-block; *display: inline; *zoom: 1; 肯定不会有问题。这也导致了大家认为IE6、7是不支持inilne-block的一个误解。而实际上对于行元素,可以直接设置display: inline-block;不用再设置*zoom: 1;

  

  其实细心的童鞋会发现设置inline-block后,其它浏览器会有几像素的缝隙,而在ie6、7下却没有,这是因为其它浏览器将回车或空格当成了一个空格,而形成了元素之前有空隙,可以将元素写在同一行就可解决此问题,有童鞋会说使用float: left;既然使用inline-block就已经解决了块元素在同一行,或行元素无法设置宽高的问题了就不要在使用float: left了,我记得w3c标准上也有说 display: inline-block不要和float: left同时使用。

ie6、ie7真的不支持inline-block吗?的更多相关文章

  1. 如何让低版本的IE浏览器(IE6/IE7/IE8)支持HTML5 header等新标签

    html5提供的一些新标签(article,aside,dialog,footer,header,section,footer,nav,figure,menu)使用起来非常的方便,但是低版本的IE浏览 ...

  2. IE(IE6/IE7/IE8)支持HTML5标签

    让IE(ie6/ie7/ie8)支持HTML5元素,我们需要在HTML头部添加以下JavaScript,这是一个简单的document.createElement声明,利用条件注释针对IE来调用这个j ...

  3. IE(IE6/IE7/IE8)支持HTML5标签--20150216

    让IE(ie6/ie7/ie8)支持HTML5元素,我们需要在HTML头部添加以下JavaScript,这是一个简单的document.createElement声明,利用条件注释针对IE来调用这个j ...

  4. 解决IE6/IE7/IE8不支持before,after问题

    对从事web开发的朋友来讲,低版本的IE永远是一个痛点,不支持最新技术(如css3,html5). 在现在web开发中使用图标字体已经很广泛,如Font Awesome,Bootstrap等,字体图片 ...

  5. 让IE6/IE7/IE8浏览器支持CSS3属性

    让IE6/IE7/IE8浏览器支持CSS3属性 一.下载 您可以狠狠地点击这里:ie-css3.htc,这个玩意儿是让IE浏览器支持CSS3表现的关键东东. 二.上面的是什么东西 首先说说.htc文件 ...

  6. IE6/IE7浏览器不支持display: inline-block;的解决方法

    display: inline-block;在IE6与IE7中存在bug. 1.inline元素的display属性设置为inline-block时,所有的浏览器都支持: 2.block元素的disp ...

  7. (转)让IE6/IE7/IE8浏览器支持CSS3属性

    原文链接 http://blog.csdn.net/h5_queenstyle12/article/details/50437442 一.下载 搜索下载:ie-css3.htc,它是让IE浏览器支持C ...

  8. 让IE6/IE7/IE8支持HTML5标签的js代码

    让IE(ie6/ie7/ie8)支持HTML5元素,我们需要在HTML头部添加以下JavaScript,这是一个简单的document.createElement声明,利用条件注释针对IE来调用这个j ...

  9. 让IE6/IE7/IE8支持CSS3属性的8种方法介绍

    我们都知道,IE浏览器暂不支持CSS3的一些属性.国外的工程师们,不安于此现状,他们总是尽量使用一些手段使IE浏览器也能支持CSS3属性,我觉得这些都是很有意义,很有价值的工作,可以推动整个技术领域的 ...

随机推荐

  1. Android 儿子Activity在启动过程中的流程组件 &amp;&amp; 儿子Activity在一个新的进程组件启动过程

    1.儿子Activity在启动过程中的流程组件 在Android Activity启动过程http://blog.csdn.net/jltxgcy/article/details/35984557一文 ...

  2. HDU 1596 find the safest road (最短路)

    find the safest road Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  3. ruby 删除文件夹(包括文件夹中的文件夹和文件)

    def deleteDirectory(dirPath) if File.directory?(dirPath) puts "是文件夹"; Dir.foreach(dirPath) ...

  4. 左右 Java 于 finally 深度分析语句块

    首先,让我们来问你一个问题:finally 声明块将运行? 很多人认为 finally 语句块是一定要运行.其中还包括了一些非常有经验的 Java 程序猿.不幸的是,没有像很多像人们想象,对于这个问题 ...

  5. cocos2dx怎样设置ios和Android横屏竖屏的几种方法

    cocos2d-x编译到ios上.默认是横屏的,若要改为http://竖屏.不同的ios版本号.方法也会不同 在ios7上或许我们设置好了横竖屏.但到了ios6上或许会变化.以下白白给大家分享一下我的 ...

  6. NSIS:使用nsWindows.nsh头文件调整窗体大小

    原文 NSIS:使用nsWindows.nsh头文件调整窗体大小 此方法只能简单实现调整窗体大小,但不完美,调整后窗体上其他的控件都需要调整大小或位置,比较麻烦,轻狂不建议使用呵! ;加头文件!inc ...

  7. S3C2416裸机开发系列19_Fatfs播放录像wav音频文件

    S3C2416裸机开发系列19 Fatfs播放录像wav音频文件 国际象棋男孩    1048272975 多媒体资源,一般都是以文件的形式存储在固化存储器中.Fatfs所支持的fat32为windo ...

  8. 彩色图像--色彩空间 HSI(HSL)、HSV(HSB)

    得知DIP文章66日 转载请注明文章出处:http://blog.csdn.net/tonyshengtan ,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管.欢迎共同开发:https://g ...

  9. 比float更好的页面布局inline-block

    一:页面布局的发展过程 桌格设计 表格+css div+css的浮动布局 div+css的内联块布局 二:流行多年的浮动布局的优劣 优势: div+css浮动布局的优势,主要是相对于table布局来说 ...

  10. HTTP的REST服务简介

      REST简介   一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么, ...