您现在的位置是:网站首页> 编程资料编程资料
min-height和min-width两个最小高度和最小宽度兼容多浏览器版本IE6不支持CSS中的min-width/height属性问题的解决方法
2021-09-07
815人已围观
简介 min-height和min-width这两个最小高度和最小宽度的容器属性相信大家并不陌生,本文介绍了min-height和min-width兼容多浏览器版本做法,有需要的同学可看看,先说说min-height这个看起来很容易
文章介绍了min-height和min-width兼容多浏览器版本做法,有需要的同学可看看。min-height和min-width这两个最小高度和最小宽度的容器属性相信大家并不陌生。先说说min-height。这个看起来很容易。看下面试例:
运行图如下:

先别高兴的太早,不要忘了已经让你深恶痛绝,但又不得不朝夕相对的ie6.0,它是这样回应你的:
没有办法,谁让国富民穷的国人口袋里没有钱呢?或许不应该这样说。应该说谁让我们无私的国人,把自己的口袋无偿的贡献给了国家了呢?我们升级不起ie浏览器。苦逼的国人!!!扯远了........问题总要解决的!穷人有穷人的活法。脑子突然冒出一个现象!

代码:
最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度 当给容器一个高度的时候,标准浏览器是这样的处理的,如果没有设置overflow的情况下,内容会超出但容器的高度不会变!这时候,我们又回到了前面,如果要自适应高度的话,当然去掉height属性。有时候我们需要一个最小的高度占据一定的空间。所以引出min-height属性。但可悲的是ie6.0不支持!!可是同样的代码我们在ie6.0里测试结果是这样的:

真是让人意外!!在ie6里面,内容超出高度height的时候,height竟然失效了!!这不正是min-height的所要达到的效果吗?于是乎,我们不得不对ie6.0采用hack (_height:120px)技术。这里我说“不得不”是因为我极度讨厌用hack。个中滋味自己体会,我的原则是,能不用hack尽量不用。代码如下:
经测试,预期达到。 路终于是走了一半了,显然,我们不满足于此,一颗不满足的心才能收获更多!在技术的道路上不防贪婪些!!我们想要min-width也达这样的效果。先来测试一下:
可是结果让我们很是意外,所有浏览器里统统失效:
怎么回事?考,全罢工啦!!仔细琢磨,原来不是这么玩的。容器的高度默认情况下是由内容多少决定的,但宽度不是啊!默认情况下是继承了父容器的宽度。当然,前提是display是block。哦,原来是这么回事,我们得让容器的默认宽度是内容多少来决定。由此我想到了几种情况:1 display:inline 但有个问题是这样的话width就失效了,经测试min-width同样也失效,这种情况被pass掉了,海选啊!!;2 于是乎我们想到display:inline-block属性;嗯这个应该没有问题吧!?动手吧代码如下:
经测试,firefox、chrome、ie8.0均有效。

可万恶的ie6还是不行啊!!而且出来个捣乱的,ie7也不行。别,仔细看看,原来ie6和ie7就没实现display:inline-block;
修改代码:
先试试ie7,ok大功告成!再试ie6,依然“万恶”!!别急呀,至少我们明白了min-width的用法,当宽度由内容决定的时候才起作用。多放点内容试试,是不是如我们所想内容超出的话,容器变大?
嗯,果然是。但是有个小问题,就是当内容超过浏览器的宽度时,依然会换行。先不管它!先解决ie6.0的问题。仔细琢磨一下,现在又回到当初的思路了,只有i6有问题。当初是怎么解决的?哦,ie6.0 的height本身就具备min-height 的特性。那width是不是也如此呢?我们加个_width:220px试试

结果很严重,我们很失望。我们唯一思路也被隔断了!种么办?种么办?....."换行!!??"那我就让你不换行!!!

竟然可以了!加点内容!!!
竟然连上面的,超出浏览器宽度问题也解决了!试试其它浏览器。ie7、ie8、firefox、chrome全部通过。以外收获!3 position:absolute 嗯这个看起来也行。

加些内容:

依然可以,预期达到。 4 float:left 这种情况最常用。应该也行!上代码:

同样加些内容:
预期达到!
复制代码
代码如下:最小高度
运行图如下:

先别高兴的太早,不要忘了已经让你深恶痛绝,但又不得不朝夕相对的ie6.0,它是这样回应你的:

没有办法,谁让国富民穷的国人口袋里没有钱呢?或许不应该这样说。应该说谁让我们无私的国人,把自己的口袋无偿的贡献给了国家了呢?我们升级不起ie浏览器。苦逼的国人!!!扯远了........问题总要解决的!穷人有穷人的活法。脑子突然冒出一个现象!

代码:
复制代码
代码如下:最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度最小高度

真是让人意外!!在ie6里面,内容超出高度height的时候,height竟然失效了!!这不正是min-height的所要达到的效果吗?于是乎,我们不得不对ie6.0采用hack (_height:120px)技术。这里我说“不得不”是因为我极度讨厌用hack。个中滋味自己体会,我的原则是,能不用hack尽量不用。代码如下:
复制代码
代码如下:最小高度
经测试,预期达到。 路终于是走了一半了,显然,我们不满足于此,一颗不满足的心才能收获更多!在技术的道路上不防贪婪些!!我们想要min-width也达这样的效果。先来测试一下:
复制代码
代码如下:最小宽度
可是结果让我们很是意外,所有浏览器里统统失效:

怎么回事?考,全罢工啦!!仔细琢磨,原来不是这么玩的。容器的高度默认情况下是由内容多少决定的,但宽度不是啊!默认情况下是继承了父容器的宽度。当然,前提是display是block。哦,原来是这么回事,我们得让容器的默认宽度是内容多少来决定。由此我想到了几种情况:1 display:inline 但有个问题是这样的话width就失效了,经测试min-width同样也失效,这种情况被pass掉了,海选啊!!;2 于是乎我们想到display:inline-block属性;嗯这个应该没有问题吧!?动手吧代码如下:
复制代码
代码如下:最小宽度
经测试,firefox、chrome、ie8.0均有效。

可万恶的ie6还是不行啊!!而且出来个捣乱的,ie7也不行。别,仔细看看,原来ie6和ie7就没实现display:inline-block;
修改代码:
复制代码
代码如下:最小宽度
先试试ie7,ok大功告成!再试ie6,依然“万恶”!!别急呀,至少我们明白了min-width的用法,当宽度由内容决定的时候才起作用。多放点内容试试,是不是如我们所想内容超出的话,容器变大?

嗯,果然是。但是有个小问题,就是当内容超过浏览器的宽度时,依然会换行。先不管它!先解决ie6.0的问题。仔细琢磨一下,现在又回到当初的思路了,只有i6有问题。当初是怎么解决的?哦,ie6.0 的height本身就具备min-height 的特性。那width是不是也如此呢?我们加个_width:220px试试
复制代码
代码如下:最小宽度最小宽度最小宽度最小宽度最小宽度最小宽度最小宽度最小宽度最小宽度最小宽度最小宽度最小宽度最小宽度最小宽度

结果很严重,我们很失望。我们唯一思路也被隔断了!种么办?种么办?....."换行!!??"那我就让你不换行!!!
复制代码
代码如下:最小宽度最小宽度最小宽度最小宽度最小宽度最小宽度最小宽度最小宽度最小宽度最小宽度最小宽度最小宽度最小宽度最小宽度

竟然可以了!加点内容!!!

竟然连上面的,超出浏览器宽度问题也解决了!试试其它浏览器。ie7、ie8、firefox、chrome全部通过。以外收获!3 position:absolute 嗯这个看起来也行。
复制代码
代码如下:最小宽度

加些内容:

依然可以,预期达到。 4 float:left 这种情况最常用。应该也行!上代码:
复制代码
代码如下:最小宽度

同样加些内容:

预期达到!
相关内容
- css设置滚动条颜色与样式以及如何去掉与隐藏滚动条CSS实现隐藏滚动条并可以滚动内容效果(三种方式)css设置Overflow实现隐藏滚动条的同时又可以滚动css 给div添加滚动并隐藏滚动条 css隐藏移动端滚动条并且ios上平滑滚动的方法CSS怎么隐藏滚动条(三种方法)css实现隐藏滚动条并可以滚动内容的实例代码
- css固定table表头的实现代码可同时看到表头和表格底部利用纯css实现table固定列与表头中间横向滚动的思路和实例表格的头部固定效果通过css及jquery分别实现CSS实现表格首行首列固定和自适应窗口的实例代码
- css3制作动态进度条以及附加jQuery百分比数字显示
- CSS制作可输入内容的table表格 CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- ie6不支持hover ie6 标签(除a标签)不支持伪类:hover解决方案IE6下伪类hover失效问题及解决办法a标签的四个css伪类(link、visited、hover、active)样式理解csshover.htc在IE7下使用:active伪类无效解决方法关于伪类hover的一些总结(推荐)
- 让ie浏览器支持RGBA颜色标准实现代码rgba中的a是什么意思 CSS之RGBA颜色指南颜色之ARGB与RGB、RGBA的区别与介绍详解css透明度之rgba和opacity的区别及兼容css中使用rgba和opacity设置透明度的区别(附图)完美解决IE8下不兼容rgba()的问题CSS3中使用RGBa来调节透明度的教程CSS3 RGBA色彩模式使用实例讲解CSS3的RGBA中关于整数和百分比值的转换CSS3中使用RGBA设置透明度的示例CSS通过RGBa将一个元素设置为透明效果
- CSS重置(CSS Reset) 让网页样式在各浏览器中表现一致css reset样式重置介绍 重置css样式工具分享全局CSS的设置(基础样式重置)CSS样式重置和清除(让不同浏览器显示效果一致)css reset 重置样式介绍让样式表CSS代码更加专业规范编写适合所有项目的通用的reset.cssCSS样式重置代码
- css使用客户端没有安装的字体语法解决方案CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- css之六个为什么为您解答 性能与习惯的结合
- 纯CSS图片预加载实例 摆脱Javascript预载的束缚30种CSS3炫酷页面预加载loading动画特效源码炫酷纯CSS3预加载动画特效源码 3种CSS3 预加载Loading动画特效源码CSS控制前端图片HTTP请求的各种情况示例CSS 实现网页图片的预加载 纯CSS实现预加载动画效果