千家信息网

兼容IE6或IE7的min-width和max-width写法有哪些

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,今天就跟大家聊聊有关兼容IE6或IE7的min-width和max-width写法有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。很多时候
千家信息网最后更新 2025年01月25日兼容IE6或IE7的min-width和max-width写法有哪些

今天就跟大家聊聊有关兼容IE6或IE7的min-width和max-width写法有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

很多时候,我们会想要设置容器的最小宽度或最大宽度,但IE6不支持min-width、max-width属性怎么办?
首先我们来看看标准属性min-width、max-width效果如何:

代码如下:


.ie-hack {
min-width: 100px;
max-width: 200px;
}

代码如下:


LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL

s


(图1-1 正常浏览器)


(图1-2 IE6)

咦,好像不是预期的结果

哦,原来是block的原因。那我们改用inline-block吧:

代码如下:


.ie-hack {
min-width: 100px;
max-width: 200px;
display: inline-block;
}

代码如下:


LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL

s


(图2-1 正常浏览器)


(图2-2 IE6)

哦啦,正常浏览器的宽度限制实现了,那现在我们来解决IE6的问题
这里用只有IE6才识别的_width属性,同时使用expression表达式来动态设置属性值:

代码如下:


.ie-hack {
min-width: 100px;
max-width: 200px;
display: inline-block;
_width: _expression(this.offsetWidth < 100 ? '100px' : (this.offsetWidth < 200 ? 'auto' : '200px'));
}



刷新页面看看吧

哈哈,恭喜你被坑了,IE6卡死了
别问我,我也不知道原因,不过我知道解决方法,就是把第一个小于号改为大于号:

代码如下:

_width: _expression(this.offsetWidth > 100 ? (this.offsetWidth < 200 ? 'auto' : '200px') : '100px');


好了,这次不会卡死了,那我们看看效果怎么样:


(图3 IE6)

最小宽度有了,但最大宽度没限制住。
这是因为内容太多,自动拉伸了,毕竟不是max-width啊
那我们把超出的内容截掉看看:


代码如下:


.ie-hack {
min-width: 100px;
max-width: 200px;
display: inline-block;
_width: _expression(this.offsetWidth > 100 ? (this.offsetWidth < 200 ? 'auto' : '200px') : '100px');
overflow: hidden;
}


(图4 IE6)

OK,效果达到了。
至此,你是不是认为问题都解决了?
年轻人,图样图森破啊,IE岂是你能轻易解决的
让我们来看看还有什么问题吧,这次我们用在按钮上看看效果如何:

代码如下:






(图5-1 正常浏览器 & IE6)


(图5-2 IE7)

Oh, no!这次IE6通过了,但是换IE7来折磨你了(真的是折磨啊,说多了都是泪。)

Why?

好像是因为IE7这时把min-width当成width设置了,解决方案还是hack:

代码如下:


.ie-hack {
min-width: 100px;
max-width: 200px;
*+min-width: auto;
*+width: _expression(this.offsetWidth > 100 ? (this.offsetWidth < 200 ? 'auto' : '200px') : '100px');
_width: _expression(this.offsetWidth > 100 ? (this.offsetWidth < 200 ? 'auto' : '200px') : '100px');
overflow: hidden;
}


(图7 IE7)

谢天谢地!终于可以了,开香槟庆祝咯!

Wait,年轻人,都说你太年轻了,还不信

如果我不提醒你,哪天死了你都不知道怎么死的

这次我们使用JS来动态改变控件的内容,看看控件的宽度是否会随之改变

代码如下:


LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL

s




代码如下:


_window.onload = function() {
document.getElementById("span1")[xss_clean] = "s";
document.getElementById("span2")[xss_clean] = "LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL";
document.getElementById("btn1").value = "s";
document.getElementById("btn2").value = "LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL";
};


(图8-1 正常浏览器)


(图8-2 IE6 & IE7)

我们想到的效果应该是图8-1那样的,但这次IE6和IE7携手一起来折磨你了

看完上述内容,你们对兼容IE6或IE7的min-width和max-width写法有哪些有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

代码 内容 宽度 效果 浏览器 浏览 属性 年轻 问题 写法 最大 最小 动态 原因 年轻人 控件 支持 限制 谢天谢地 只有 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 金融网络安全知识大全 郑州光速网络技术服务 搭建棋牌需要服务器系统 现在学什么数据库软件 4u服务器是什么样的电脑 布比北京网络技术有限公司股票 阿里esc服务器搭建数据库 中信总行软件开发岗t3 软件开发合同首款集成 塔式服务器内存安装 广电网络技术培训心得体会 网络技术二级证是什么资格证 云服务器租赁优势 湘潭大学计算机学院网络安全 网络安全课件哈工程 医保零售药店网络安全管理制度 学生可以学习网络安全知识吗 服务器信息安全防御案例 上海手机app软件开发 要发挥网络安全基础性作用 租赁服务器的价格 用数据库报表开发工具 cs 数据分析软件开发 mysql数据库备份卡死 香港服务器选购指标 深圳管理软件开发哪家便宜 加强网络安全和数据保护工作 恒生电子软件开发待遇 邮储银行软件开发笔试题 长宁区常规网络技术服务业务流程
0