Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internet explorer 8 如何在IE8中模拟最小宽度_Internet Explorer 8_Css - Fatal编程技术网

Internet explorer 8 如何在IE8中模拟最小宽度

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"

IE8文档说它支持min width,但它似乎不适合我

我想要的html最小宽度是在表格单元格中

我在这里看到另一个问题,建议在每个单元格中添加一个1像素的高度div,并设置一个宽度,但这不起作用-由于某种原因,IE将其渲染为18像素高

以下是html代码:

<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元素?