码迷,mamicode.com
首页 > 其他好文 > 详细

display:inline-block 在IE6中实现{转}

时间:2014-11-04 10:50:28      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:ar   使用   sp   div   问题   代码   bs   ad   line   

1、IE6/7不识别inline-block,只是触发了layout,表现跟真实一样。
2、IE6/7不完全支持inline-block,只对内联元素有效。

 

IE下块元素如何实现 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 等)。代码如下:
div {display:inline; zoom:1;...}

 

最后问题可以这样解决:

.nav{text-align:center;}

.nav ul{display:inline-block !important;*display:inline;zoom:1;margin:0;padding:0;}

display:inline-block !important;能在FF,IE7以上的浏览器中实现,因为他们支持;

*display:inline能使IE6保持行内元素,zoom:1能触发IE6的layout,就能实现display:inline-block的效果。

display:inline-block 在IE6中实现{转}

标签:ar   使用   sp   div   问题   代码   bs   ad   line   

原文地址:http://www.cnblogs.com/answercard/p/4072943.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!