您现在的位置是:网站首页> 编程资料编程资料
css display inline block 兼容性问题写法css之display属性之inline-block布局实现详解详解css中inline-block的最小宽度值详解CSS 去掉inline-block元素间隙的几种方法 css几种解决inline-block间隙的方案(整理)详解CSS中的display:flex||inline-flex属性css解决display:inline-block;产生的缝隙(间隙)的方法css中转换为行内样式的解决方案(css-inline)
2021-09-05
894人已围观
简介 今天在写布局的时候发现的一个bug,如果不这样就达不到预期的效果,无法两行排列,原来ie6、ie7下对display:inline-block不支持,所以需要用到css hack才可以
IE6、IE7不识别inline-block但可以触发块元素。
其它主流浏览器均支持inline-block。
解决IE6、IE7兼容性的方法:
1、首先设置inline-block触发块元素,具有了layout的特性,然后设置display:inline使块元素呈现内联元素,此时layout的特性不会消失。
2、直接设置display:inline,使用zoom:1触发layout。
兼容所有浏览器的方法是:
- display:inline-block; /* 现代浏览器 +IE6、7 inline 元素 */
- *display:inline; /* IE6、7 block 元素 */
- *zoom:1;
下面简单介绍下:
1、实例演示效果
2、display:inline-block作用?
使用display:inline-block属性,可以使行内元素或块元素能够变成行内块元素,简单直白点讲就是不加float属性就可以定义自身的宽、高,同时又能使该元素轻松在父元素居中显示!
3、什么时候会用到display:inline-block?
在网站布局中,很多时候,子元素中使用行内元素如span或块元素li标签且标签个数不定,而我们又想让这一块不管个数有多少个(子元素的总体宽度不定),始终都能居中显示!这个时候display:inline-block就能派上用场了!
4、ie6/7支持display:inline-block这个属性吗?
在内联元素上定义display:inline-block属性,发现IE6、IE7中的显示效果同其它浏览器一致,但事实是ie7及更低版本的ie浏览器不支持display:inline-block这个属性!
正确的解释是"使用inline-block属性在IE下会触发layout,因此元素上设置的width、height是能生效的,所以也就有了同其它浏览器一致的显示效果",而不能说IE6/7支持 display:inline-block!
5、行内元素只需定义display:inline-block,显示效果各浏览器都是一致,IE7下块元素如何实现 display:inline-block 的效果??
在IE下,display: inline-block只是触发了元素的layout。比如将display: inline-block设置到div上,只能保证这个div拥有块元素的特征(可以设置宽度,高度等),但还是会产生换行。接下来要设置display: inline,使其不产生换行。将display:inline-block;*display:inline;写在同一个样式上,inline-block属性是不会触发元素的layout的,因此我们还要额外加上 *zoom:1来触发layout!
6、IE7下块元素如何兼容 display:inline-block写法?
实际有效的方法共有2种:
方法1:直接让块元素设置为内联对象呈递(设置属性 display:inline),然后触发块元素的 layout(如:zoom:1 等)。兼容各浏览器的代码如下: div {display:inline-block;*display:inline; *zoom:1;...}
方法2:先使用 display:inline-block 属性触发块元素,然后再定义 display:inline,让块元素呈递为内联对象(两个display 要先后放在两个 CSS 样式声明中才有效果,这是 IE 的一个经典 bug ,如果先定义了 display:inline-block,然后再将 display 设回 inline 或 block,layout 不会消失)。代码如下(…为省略的其他属性内容): div {display:inline-block;...}div {*display:inline;}
7、display:inline-block元素间会产生多余空白怎么解决?
display:inline-block元素间会产生多余空白,这是inline-block本身特性!
严格来讲不算BUG,使用font-size设置可以解决,解决display:inline-block元素间多余空白的相关文章:https://www.jb51.net/css/76707.html
相关内容
- 细说CSS中margin属性的使用 浅谈css margin重叠CSS 之margin知识点(必看)css布局之负margin妙用及其他实现CSS的margin属性在页面布局中的使用攻略深入解析CSS中margin属性的使用CSS中使用负margin值来调整居中位置CSS属性探秘系列(六):margin解决margin 外边距合并问题
- 基于html和CSS3制作简单侧边导航栏使用HTML+Css+transform实现3D导航栏的示例代码html+css+js实现导航栏滚动渐变效果Html5导航栏吸顶方案原理与对比实现html5 横向滑动导航栏的方法示例html+css 实现简易导航栏功能基于html和CSS3制作酷炫的导航栏使用Html+Css实现简易导航栏功能(导航栏遇到鼠标切换背景颜色)
- 非常漂亮的CSS3百叶窗焦点图动画纯CSS实现图片百叶窗展示效果示例
- 全面总结CSS代码的编写规范及优化建议CSS代码书写规范究极指南编写灵活、稳定、高质量的HTML和css代码规范指南css代码缩写 div+css布局代码简写规范19楼论坛的前端CSS代码规范介绍让样式表CSS代码更加专业规范闭合浮动元素让CSS代码更规范-CSS教程-网页制作-网页教学网分享20条编写 CSS 代码的建议
- 使用Div+CSS纯图片实现圆角矩形的方法小结css三种方法实现div在浏览器水平居中一个div在浏览器水平居中的实现方法div+CSS制作类似微信对话气泡效果的实例总结EXCEL表格中的#DIV/0!等符号怎么全部当计算?让DIV水平垂直居中的两种完美方法推荐学习DIV+CSS网页布局之混合布局学习DIV+CSS网页布局之三列布局学习DIV+CSS网页布局之两列布局学习DIV+CSS网页布局之一列布局使用div+CSS将页脚始终控制在页面最下方的方法
- Div和CSS编写中对包含选择器和通配选择器的使用如何让一个div居于页面正中间【实现方法】css三种方法实现div在浏览器水平居中一个div在浏览器水平居中的实现方法div+CSS制作类似微信对话气泡效果的实例总结EXCEL表格中的#DIV/0!等符号怎么全部当计算?让DIV水平垂直居中的两种完美方法推荐学习DIV+CSS网页布局之混合布局学习DIV+CSS网页布局之三列布局学习DIV+CSS网页布局之两列布局学习DIV+CSS网页布局之一列布局
- 简要讲解CSS中的类型选择器、ID选择器、类选择器该不该使用ID选择器?浅谈对CSS的ID选择器的使用建议英文教程:五种CSS选择器类型IE7对css选择器的改进-CSS教程-网页制作-网页教学网CSS属性选择器的四种格式-CSS教程-网页制作-网页教学网最常用的五类CSS选择器-CSS教程-网页制作-网页教学网四种css 伪类选择器CSS3 选择器 伪类选择器介绍CSS3 选择器 属性选择器介绍CSS3 选择器 基本选择器介绍你不可不知的CSS选择器
- CSS“隐藏”元素的多种方法的对比css 元素显示隐藏的9种思路使用CSS隐藏元素滚动条的示例代码CATIA装配体中的所有参考元素怎么隐藏?CSS隐藏页面元素的5种方法隐藏 Web 中的元素方法及优缺点教程详解
- 实例讲解如何使用CSS保持页面内容宽高比CSS 实现div宽度根据内容自适应 CSS实现菜单背景自适应宽度的方法CSS基于单张背景图实现自适应宽度的圆角菜单效果代码CSS实现自适应宽度的菜单按钮效果代码CSS中固定宽度布局的详细教程CSS中的line-height行高属性的使用技巧小结CSS中行高line-height属性的一些使用技巧CSS 控制Html页面高度导致抖动问题的原因css属性行高line-height的用法详解不定宽高div内图片垂直居中的css样式
- 简单总结CSS3中视窗单位Viewport的常见用法