css - 使用兼容模式在 Internet Explorer 8 中进行基本 CSS 调试

标签 css internet-explorer-7 doctype ie8-compatibility-mode

好吧,我在这里没有做任何花哨的事情,但我无法让它工作,这让我发疯。

我在设置表单上的按钮格式时遇到问题,但仅在 Internet Explorer 7 中。

我有一个简单的表格:

<div id="menusearch">
     <form id="searchform" method="get" action="process.php">
        <div>
            <input type="text" value="" name="s" id="s_name" class="input_text"  />
            <input type="submit" class="button submit" accesskey="s" value="" />
        </div>
    </form>
</div>

按钮的 CSS 如下:

#menusearch .button {
    margin: 0;
    width:97px;
    height:30px;
    background-image: url('images/search.png');
    background-repeat:no-repeat;
    background-position:left top;
    border: none;
}

背景图像只是一个简单的按钮图像,但在 Internet Explorer 7 中它只是显示一个没有图像的标准默认按钮。它适用于我尝试过的所有其他浏览器。我们将不胜感激。

现在,我正在使用 Internet Explorer 8(兼容模式)和开发人员工具来检查它,看看出了什么问题,我发现了一些奇怪的事情。对于某些 CSS 行,它似乎忽略了它们。所以在上面的例子中,开发者工具显示如下:

background-image: url(images/search.png); BORDER-BOTTOM-STYLE: none

它把这一切显示为一行,没有勾选框,就像它没有将其识别为单独的 CSS 规则一样。我可以在我的 CSS 中的其他地方找到我使用 background-image 的地方,以及我设置边框的其他地方。我已经复制并粘贴了 CSS 代码,但仍然出现相同的错误。

我做错了什么?

编辑

好吧,我已经把它剥离下来,发现我的问题实际上是在我的 Document Type Declaration 中。 ,

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

我删除了它,它起作用了。那么,我需要将原来的问题更改为以下内容:我的文档类型声明应该是什么?我从来没有真正理解过不同的,并且一直只使用相同的...

因此,按要求精简了源代码:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <style type="text/css">
            #menusearch .button {
                margin: 0;
                width:97px;
                height:30px;
                background-image: url('http://www.netbsd.org/images/download-icon-orange.png');
                background-repeat:no-repeat;
                background-position:left top;
                border: none;
            }
        </style>
    </head>
    <body>
        <div class="hspace">
            <div id="mspace">
                <div id="menu">
                    <div id="menusearch">
                        <form id="searchform" method="get" action="process.php">
                            <div>
                                <input type="text" value="" name="s" id="s_name" class="input_text"  />
                                <input type="submit" class="button submit" accesskey="s" value="" />
                            </div>
                        </form>
                    </div>
                </div>
            </div>

我省略了文档类型声明。

最佳答案

这种情况下的修复非常简单。改变你的 border,像这样:

border: 0 solid #000

而且它是固定的。谁知道为什么,IE7 很疯狂。

您可以保留原始文档类型。

关于css - 使用兼容模式在 Internet Explorer 8 中进行基本 CSS 调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5037168/

相关文章:

css - 即/: wrong z-index for hover-effect

javascript - 我在 IE7/8 中看不到裁剪器。在 FF 和演示中没有问题(使用 IE7/8)

html - 这些 DOCTYPE 声明之间有什么区别?

html - IE9 CSS兼容性和DOCTYPE声明

html - 表 td 显示 block 不适用于 Chrome

javascript - 如何在每两个 v-for 生产标签之间插入一个新标签?

javascript - 有没有办法使用 jQuery 和/或 CSS 通过单击按钮来反转页面上的所有颜色?

jquery - 透明覆盖 div 允许在 IE 7,8 中点击

html - 用于宽屏和盒装布局的 Bootstrap CSS

javascript - 2 列列表行 CSS JS 上的高度相同