使用场景分析:

常见的对块与块之间的横向排列处理

  对同级所有元素使用display:inline-block; , 之后块与块直接会产生间隙问题

解决办法:

给父级设 font-size:0;

别高兴的太早,我们看看在ie7的时候,是显示如何

我们可以发现,问题有二

① inline-block失效了

  原因:inline-block 在ie7及ie6下不识别

  解决方法:在后面添加

      display: inline-block;
zoom:1; /*IE 下触发 hasLayout*/
*display:inline; /*一旦IE 下触发了 hasLayout,设置 block 元素为 inline 会使 display:inline 效果与 display:inline-block 相似*/

②颜色失效了

  原因:我是利用 :nth-of-type() 选择器来给div加背景色,选择器在ie8 就已经不识别

  拓展:

    :nth-of-type() 选择器 ——选择器匹配属于父元素的特定类型的第 N 个子元素的每个元素. 
n 可以是数字、关键词或公式。与:nth-child(n)不同的是后者与类型无关。(同样不支持IE8)

    :first-of-type 选择器匹配属于其父元素的特定类型的首个子元素的每个元素。 
提示:等同于 :nth-of-type(1)。(同样不支持IE8)

    :last-of-type 选择器匹配属于其父元素的特定类型的最后一个子元素的每个元素。 
提示:等同于 :nth-last-of-type(1)。(同样不支持IE8)

    :only-of-type 选择器匹配属于其父元素的特定类型的唯一子元素的每个元素。(同样不支持IE8)

    :nth-last-child(n) 选择器匹配属于其元素的第 N 个子元素的每个元素,不论元素的类型,从最后一个子元素开始计数。n 可以是数字、关键词或公式。(同样不支持IE8) 
提示:请参阅 :nth-last-of-type() 选择器,该选择器选取父元素的第 N 个指定类型的子元素,从最后一个子元素开始计数。

    :nth-last-of-type(n) 选择器匹配属于父元素的特定类型的第 N 个子元素的每个元素,从最后一个子元素开始计数。n 可以是数字、关键词或公式。(同样不支持IE8) 
提示:请参阅 :nth-last-child() 选择器,该选择器选取父元素的第 N 个子元素,与类型无关,从最后一个子元素开始计数。

    :last-child 选择器匹配属于其父元素的最后一个子元素的每个元素。(同样不支持IE8) 
提示:p:last-child 等同于 p:nth-last-child(1)。

    :first-child 选择器用于选取属于其父元素的首个子元素的指定选择器。对于 IE8 及更早版本的浏览器中的 :first-child,需要声明 。

  由上我们选择解决方案为:first-child

    .father .son:first-child+div{/*选取第二个li*/
background: pink;
}

由此两步,在ie7下显示结果如下,还是不尽人意,其实也很正常啦,哈哈哈

查看ie7调试工具,哦,box-sizing在ie8以下不兼容,盒子模型的标准也不一样

  解决方案:

    使用 https://github.com/Schepp/box-sizing-polyfill

    使用方式:直接在box-sizing:后面加  box-sizing: border-box;*behavior: url(./boxsizing.htc);

 ie7结果如下:

解决了box-sizing的问题,又发现了一个盒子无法占满的问题?

稍微测试了下,33.33%比例 确实会出现问题,暂时不知道原因诶,有知道的老铁,麻烦告诉我。

上代码:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
* {margin: 0;padding: 0;}
.father {
width: 500px;
margin: 0 auto;
border: 1px solid #000;
font-size: 0;
background: red;
}
.father .son {
width: 33.33%;
height: 200px;
background: yellow;
display: inline-block;
zoom:1; /*IE 下触发 hasLayout*/
*display:inline; /*一旦IE 下触发了 hasLayout,设置 block 元素为 inline 会使 display:inline 效果与 display:inline-block 相似*/
border: 1px solid #000;
box-sizing: border-box;*behavior: url(./boxsizing.htc);
}
.father .son:nth-of-type(2) {
background: pink;
}
.father .son:first-child+div{/*选取第二个li*/
background: pink;
}
</style>
</head>
<body>
<div class="father">
<div class="son"></div>
<div class="son"></div>
<div class="son"></div>
</div>
</body>
</html>

由inline-block小例子引申出的一些问题,及IE6、IE7兼容性解决方案的更多相关文章

  1. CSS3如何去除 inline block 元素之间多出的空格

    display: inline-block 属性很好的避免了元素的浮动问题,但是会有点小问题,就是 inline-block 元素间的回车会被显示为一个空格.然而,我们写代码时,都是用回车来格式化的. ...

  2. c小例子 10个数找出第一名

    这个小例子,是从十个数中找到第一名,如果第一名的分数相同,则二者都可以晋级,进入下一轮比赛,我们就对这个数进行排序,这样要求输出晋级人员的标号0-9号中其中一个或几个. 如何用c语言来实现呢? 1) ...

  3. java即时通信小例子

    学习java一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是 ...

  4. 【zTree】 zTree使用的 小例子

    使用zTree树不是第一次了  但是 还是翻阅着之前做的 对照着 使用起来比较方便  这里就把小例子列出来   总结一下使用步骤 这样方便下次使用起来方便一点 使用zTree树的步骤: 1.首先  在 ...

  5. c# BackGroundWorker 多线程操作的小例子

    在我们的程序中,经常会有一些耗时较长的运算,为了保证用户体验,不引起界面不响应,我们一般会采用多线程操作,让耗时操作在后台完成,完成后再进行处理或给出提示,在运行中,也会时时去刷新界面上的进度条等显示 ...

  6. (转)C#序列化和反序列化小例子

    网友关于序列化和反序列化的总结: ①序列化基本是指把一个对象保存到文件或流中,比如可以把文件序列化以保存到Xml中,或一个磁盘文件中 ②序列化以某种存储形式使自定义对象持久化: ③将对象从一个地方传递 ...

  7. 一:AndEngine的小例子

    首先导入架包,下载:http://download.csdn.net/detail/duancanmeng/4060082 lib文件夹中 像我们写android程序entends Activity一 ...

  8. c#几个小例子引发的思考

    楚广明老师的c#教程每一节都会给出几个小例子让大家联系,对于初学者来说这确实是一件很纠结的事情,下面我把这几个小例子简单的写一下.同时看一下我们学到了什么 1.面向过程版的圆周长面积计算 using ...

  9. MVVM模式的一个小例子

    使用SilverLight.WPF也有很长时间了,但是知道Binding.Command的基本用法,对于原理性的东西,一直没有深究.如果让我自己建一个MVVM模式的项目,感觉还是无从下手,最近写了一个 ...

随机推荐

  1. React.js 小书 Lesson10 - 组件的 state 和 setState

    作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson10 转载请注明出处,保留原文链接和作者信息. state 我们前面提到过,一个组件的显示形态 ...

  2. 支付宝小程序与微信小程序开发功能和语法糖不同

    最近开始负责公司webapp数据打通支付宝小程序,之前已经打通了微信小程序,现在根据支付宝小程序的开发文档在之前的模板上面做修改. 在修改模板的过程中,总结一下双方功能和语法糖的不同之处. 框架: a ...

  3. FZU 1921——栀子花开——————【线段树单点更新】

    栀子花开 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status  ...

  4. git使用方法记录

    git是一个分布式的代码版本管理系统,使用起来的确很方便,已签只会star别人的项目,今天刚好有空抽点时间学了一下,简单的几个命令的用法. 首先在giuhub上可以托管代码,然后可以将远程仓库拖到本地 ...

  5. 周记1——WebSocket入门

    一周复一周,时间过得飞快,每个周末都是很开心却又很彷徨.开心的是不用工作,彷徨的是自己这周学到了什么.自身的技能有没有提高.如何应对这个日新月异的社会... 本周的工作的开发IM(即时聊天)模块,要用 ...

  6. [转]ASP.NET Core Exception Filters and Resource Filters

    本文转自:https://damienbod.com/2015/09/30/asp-net-5-exception-filters-and-resource-filters/ This article ...

  7. 解决iframe IE8透明不兼容

    要使 ie8 的 iframe 的透明,需要设置两点: 设置 iframe 的 allowTransparency 属性值为 true: <iframe allowtransparency=&q ...

  8. 03_CronTrigger

    [Cron表达式] Quartz使用类似于Linux下的Cron表达式定义的时间规则,Cron表达式由6到7个空格分隔的时间字段组成. [ 字符说明 ] * :可以用在所有字段中,表示对应时间域内的每 ...

  9. ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 4、安装 ArcGIS for Server

    安装ArcGIS for Server 解压server安装包,tar -xzvf ArcGIS_Server_Linux_1051_156429.tar.gz 切换到arcgis账户静默安装serv ...

  10. 任务二:零基础HTML及CSS编码练习

    任务目的 针对设计稿样式进行合理的HTML架构,包括以下但不限于: 掌握常用HTML标签的含义.用法 能够基于设计稿来合理规划HTML文档结构 理解语义化,合理地使用HTML标签来构建页面 掌握基本的 ...