首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IE 8溢出:隐藏和最大宽度

IE 8溢出:隐藏和最大宽度
EN

Stack Overflow用户
提问于 2011-12-13 17:12:53
回答 1查看 5.2K关注 0票数 9

我想要在表格中显示文本,当它超过150px时我想剪切它,但我不想要表格单元的固定宽度(如果没有文本,宽度将是0px)。一切都能在IE9,火狐,Chrome,Opera上运行,但在IE8上不行。

IE8中的代码示例:

Chrome中的代码示例:

代码如下:

代码语言:javascript
复制
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style>
td, span {
    border: 1px solid red;
    max-width: 150px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

span {
    border: 1px solid green;
    display: block;
}
</style>
</head>
<body>
<table>
<tr>
    <td><span>Works in Firefox, Chrome, Opera, IE 7/9 (but not in IE 8)</span></td>
    <td>Works in Firefox, Chrome (and Opera but no dots)</td>
    <td style="display: block">Works in Firefox, Chrome and Opera (with dots)</td>
</tr>
</table>
</body>
</html>

可以在不使用任何javascript或设置固定宽度的情况下这样做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-13 19:47:31

不幸的是,IE7和IE8对max-width css规则的支持非常不可靠。因此,如果没有javascript或固定宽度,您将无法可靠地做到这一点。如果有帮助,你拥有的代码应该可以在IE 7+中工作。

但是,您可以通过在上面的规则后面添加一个条件css规则,使其仅为这两个浏览器固定宽度:

代码语言:javascript
复制
<!--[if lte IE 8]>
    <style>
    td, span {
        width: 150px;
    }
    </style>
<![endif]-->

当您稍后将css移动到外部文件中时,您当然会将其更改为链接标记:

代码语言:javascript
复制
<!--[if lte IE 8]>
   <link rel="stylesheet" type="text/css" href="ie8.css" />
 <![endif]-->

或者,您可以使用javascript检测IE7和IE8,并将用户重定向到此页面:http://www.mozilla.org/de/firefox/new/

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8486690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档