CSS: IE: white-space: nowrap 不工作
CSS: IE: white-space: nowrap not working
IE 未正确响应 nowrap CSS 属性。
问题:如何在 IE 中使它工作,使其呈现为 Chrome 的呈现结果。
http://jsfiddle.net/subsari/tmz0t0z2/3/
<body>
<table>
<tr>
<th>Header 1</th>
<th>Header 2</th>
<th>Header 3</th>
</tr>
<tr>
<td class="long_string">Data 1 with long text</td>
<td>Data 2</td>
<td>Data 3</td>
</tr>
</table>
th {
border: 1px solid red;
}
td {
border: 1px solid black;
}
.long_string {
white-space: normal;
white-space: nowrap;
max-width: 100px;
color: #FFA500;
}
如何让 IE 像 Chrome 那样渲染 table?最干净的解决方案?
感谢您提前的帮助!
white-space: nowrap
属性 应该可以在 IE 中使用,一直回到 5.5
http://css-tricks.com/almanac/properties/w/whitespace/#browser-support
这可能与您使用的特定 IE 副本有关 运行。尝试将 !important
添加到 white-space: nowrap
声明的末尾,以确保没有与您的代码冲突的插件或用户代理样式表。
问题不在于 white-space: nowrap
(文本停留在一行),而在于 max-width
设置。虽然它通常是 supported 即使是 IE 7,但 IE 7 在应用于 table 单元格时似乎有问题,以及其他一些奇怪的地方。 (我的观察是基于在不同的仿真模式下使用 IE 11,而不是在旧版本的 IE 上实际测试。)
如果支持 IE 7(及更早版本)足够重要,您可以考虑在内容上设置特定宽度而不是最大宽度。 To 然后需要将长字符串包装在容器中并在其上设置宽度,而不是在 table 单元格上。您还需要在该容器上设置 overflow: hidden
(否则溢出的内容仍然会使单元格变宽)。示例:
th {
border: 1px solid red;
}
td {
border: 1px solid black;
}
.long_string {
white-space: nowrap;
width: 100px;
overflow: hidden;
color: #FFA500;
}
<table>
<tr>
<th>Header 1</th>
<th>Header 2</th>
<th>Header 3</th>
</tr>
<tr>
<td><div class="long_string">Data 1 with long text</div></td>
<td>Data 2</td>
<td>Data 3</td>
</tr>
</table>
IE 未正确响应 nowrap CSS 属性。
问题:如何在 IE 中使它工作,使其呈现为 Chrome 的呈现结果。
http://jsfiddle.net/subsari/tmz0t0z2/3/
<body>
<table>
<tr>
<th>Header 1</th>
<th>Header 2</th>
<th>Header 3</th>
</tr>
<tr>
<td class="long_string">Data 1 with long text</td>
<td>Data 2</td>
<td>Data 3</td>
</tr>
</table>
th {
border: 1px solid red;
}
td {
border: 1px solid black;
}
.long_string {
white-space: normal;
white-space: nowrap;
max-width: 100px;
color: #FFA500;
}
如何让 IE 像 Chrome 那样渲染 table?最干净的解决方案?
感谢您提前的帮助!
white-space: nowrap
属性 应该可以在 IE 中使用,一直回到 5.5
http://css-tricks.com/almanac/properties/w/whitespace/#browser-support
这可能与您使用的特定 IE 副本有关 运行。尝试将 !important
添加到 white-space: nowrap
声明的末尾,以确保没有与您的代码冲突的插件或用户代理样式表。
问题不在于 white-space: nowrap
(文本停留在一行),而在于 max-width
设置。虽然它通常是 supported 即使是 IE 7,但 IE 7 在应用于 table 单元格时似乎有问题,以及其他一些奇怪的地方。 (我的观察是基于在不同的仿真模式下使用 IE 11,而不是在旧版本的 IE 上实际测试。)
如果支持 IE 7(及更早版本)足够重要,您可以考虑在内容上设置特定宽度而不是最大宽度。 To 然后需要将长字符串包装在容器中并在其上设置宽度,而不是在 table 单元格上。您还需要在该容器上设置 overflow: hidden
(否则溢出的内容仍然会使单元格变宽)。示例:
th {
border: 1px solid red;
}
td {
border: 1px solid black;
}
.long_string {
white-space: nowrap;
width: 100px;
overflow: hidden;
color: #FFA500;
}
<table>
<tr>
<th>Header 1</th>
<th>Header 2</th>
<th>Header 3</th>
</tr>
<tr>
<td><div class="long_string">Data 1 with long text</div></td>
<td>Data 2</td>
<td>Data 3</td>
</tr>
</table>