Internet explorer 8 如何在IE8中模拟最小宽度
IE8文档说它支持min width,但它似乎不适合我 我想要的html最小宽度是在表格单元格中 我在这里看到另一个问题,建议在每个单元格中添加一个1像素的高度div,并设置一个宽度,但这不起作用-由于某种原因,IE将其渲染为18像素高 以下是html代码:Internet explorer 8 如何在IE8中模拟最小宽度,internet-explorer-8,css,Internet Explorer 8,Css,IE8文档说它支持min width,但它似乎不适合我 我想要的html最小宽度是在表格单元格中 我在这里看到另一个问题,建议在每个单元格中添加一个1像素的高度div,并设置一个宽度,但这不起作用-由于某种原因,IE将其渲染为18像素高 以下是html代码: <html> <head> <script src="jquery.js" type="text/javascript"></script> <style type="text/css"
<html>
<head>
<script src="jquery.js" type="text/javascript"></script>
<style type="text/css">
table.keyboard div.key {
height: 50px;
font-size:50px;
border: 5px outset gray;
min-width: 60px;
text-align: center;
}
table.keyboard div.spc {
height: 1px;
width: 60px;
background-color: green;
}
table.keyboard td:hover {
background-color: lightblue;
}
table.keyboard {
border: 3px inset blue;
}
</style>
</head>
<body>
<div id="body">
<div>Here is some stuff</div>
<table class='keyboard'>
<tbody>
<tr>
<td><div class='key'>1</div><div class='spc'></div></td>
<td><div class='key'>2</div><div class='spc'></div></td>
<td><div class='key'>3</div><div class='spc'></div></td>
<td><div class='key'>4</div><div class='spc'></div></td>
<td><div class='key'>5</div><div class='spc'></div></td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
表.键盘分区键{
高度:50px;
字体大小:50px;
边框:5px灰色;
最小宽度:60px;
文本对齐:居中;
}
表1.keyboard div.spc{
高度:1px;
宽度:60px;
背景颜色:绿色;
}
table.td:悬停{
背景颜色:浅蓝色;
}
表.键盘{
边框:3件镶蓝;
}
这里有些东西
1.
2.
3.
4.
5.
“spc”div显示为18像素高
当然,如果min width有效,我就不需要div
<table class='keyboard'>
<tbody>
<tr>
<td><div class='key'>1</div></td>
<td><div class='key'>2</div></td>
<td><div class='key'>3</div></td>
<td><div class='key'>4</div></td>
<td><div class='key'>5</div></td>
</tr>
</tbody>
</table>
1.
2.
3.
4.
5.
有什么线索吗
为了简化这一点,我放置了3个不同版本的。HTML表格规范使用COL定义列宽。请参见以下规范: 下面是一个如何使用它的示例: 表格单元格的最小宽度与块级元素的工作方式不同。表格单元格在列级别控制,而不是在单个单元格级别控制。如果给定的单元格大小增加或减少,整个列将受到影响,除非由标记显式控制 IE8。您的代码工作得非常完美。尝试以下方法:
table.keyboard .key
{
min-width:60px;
width: expression(this.width < 60 ? 60: true);
}
table.keyboard.key
{
最小宽度:60px;
宽度:表达式(this.width<60?60:true);
}
这个宽度表达式是min width的一个替代方法,它应该是旧版本IE的一个变通方法
我认为您的问题在于您的列决定了元素的宽度,而不是div
编辑:
还要检查您的浏览器是否未处于兼容模式。这是wierd-它在那里工作,但在我的网站上不工作。我想知道区别是什么?所以设置它:)例如:如果有人想知道需要
DOCTYPE
声明来避免“怪癖模式”:如果一个div呈现的比预期的大,请确保它有零填充。对不起,我不明白。我希望所有表列都是最小宽度。我希望整个专栏都受到影响。不知道我为什么要引入col元素?