注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

梦幻雪冰

技在手,能在身,思在脑,从容过生活——陈能堡

 
 
 

日志

 
 

display:inline-block; 兼容问题  

2015-02-03 08:49:01|  分类: CSS兼容专题 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

display:inline-block; 兼容问题

一:display:inline-block; IE6/IE7 兼容问题
display:inline-blok;在块级元素中IE6/IE7是不兼容的(div、ul、p、h1~h6等),在内联级元素中IE6/IE7是兼容的(如:span、a、strong、img等);
欢迎学习交流------梦幻雪冰 

当设置的元素是块元素的情况下,代码如下:

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>梦幻雪冰、独行冰海</title>
<link rel="stylesheet" href="reset.css" type="text/css">
<style>
.main div {
display: inline-block;
width: 200px;
height: 50px;
background: #fcf;
}
</style>
</head>
<body>
<div class="main">
<div>
HTML5学堂</div>
<div>
独行冰海</div>
<div>
梦幻雪冰</div>
</div>
</body>
</html>

在IE6、IE7测试效果如下图(元素未处于同一行):
display:inline-block; 兼容问题 - 梦幻雪冰 - 梦幻雪冰

 在谷歌测试效果如下图(元素处于同一行):
display:inline-block; 兼容问题 - 梦幻雪冰 - 梦幻雪冰

解决该兼容问题:

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>梦幻雪冰、独行冰海</title>
<link rel="stylesheet" href="reset.css" type="text/css">
<style>
.main div {
display: inline-block;
width: 200px;
height: 50px;
background: #fcf;
*display:inline; /*IE hack技术*/
zoom:1; /*
触发IE haslayout*/
}
</style>
</head>
<body>
<div class="main">
<div>HTML5学堂</div>
<div>独行冰海</div>
<div>梦幻雪冰</div>
</div>
</body>
</html>

处理兼容后的效果:
display:inline-block; 兼容问题 - 梦幻雪冰 - 梦幻雪冰

 二去掉display:inline-block元素间的多余空白(这个不能说是inline-block的兼容问题)
原因:HTML 中的换行符、空格符、制表符等产生了空白符,而这些归根结底都是字符,那么它们的大小都是 受 font-size 来控制的,字体大小直接导致 inline 或者 inline-block 后元素之间空隙的大小,把 inline-block 元素间的空隙认为总是某个固定大小是错误的。

间距问题效果如下(源代码在上面):
display:inline-block; 兼容问题 - 梦幻雪冰 - 梦幻雪冰

解决间距问题代码如下:
1、设置父级的字体大小为0px,但是不好的一点,父级的文字不见了。
display:inline-block; 兼容问题 - 梦幻雪冰 - 梦幻雪冰
 代码如下:

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>梦幻雪冰、独行冰海</title>
<link rel="stylesheet" href="reset.css" type="text/css">
<style>
.main {
font-size: 0;
}
.main div {
display: inline-block;
width: 200px;
height: 50px;
background: #fcf;
*display:inline; /*IE hack技术*/
zoom:1; /*触发IE haslayout*/
}
</style>
</head>
<body>
<div class="main">
<div>HTML5学堂</div>
<div>独行冰海</div>
<div>梦幻雪冰</div>
</div>
</body>
</html>

2、利用margin负值来实现(不同的字体,margin的值不同)

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>梦幻雪冰、独行冰海</title>
<link rel="stylesheet" href="reset.css" type="text/css">
<style>
.main div {
display: inline-block;
width: 200px;
height: 50px;
margin-left: -2.5em;
background: #fcf;
*display:inline; /*IE hack技术*/
zoom:1; /*触发IE haslayout*/
}
</style>
</head>
<body>
<div class="main">
<div>HTML5学堂</div>
<div>独行冰海</div>
<div>梦幻雪冰</div>
</div>
</body>
</html>

3、其他解决方法
     父级设置letter-spacing:-5px;
欢迎学习交流------梦幻雪冰 


扩展:
各浏览器对 ‘display’ 特性值的支持程度不同
display:inline-block; 兼容问题 - 梦幻雪冰 - 梦幻雪冰
 资料来源于:淘宝网UED官方博客
欢迎学习交流------梦幻雪冰 宝宝
推荐博客:独行冰海 利利
  评论这张
 
阅读(105)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017