【问题标题】:CSS not working in IE?CSS 在 IE 中不起作用?
【发布时间】:2010-10-10 09:27:05
【问题描述】:

在这个网站上工作了一段时间,在 Mac 和 PC Firefox 以及 Safari 上都能完美运行。然而,IE 使网站几乎一片空白——关于发生了什么的任何想法?有什么解决方法吗?

提前感谢您的帮助!

http://www.alliedprintingsolutions.com

http://www.alliedprintingsolutions.com/style.css(样式表)

【问题讨论】:

  • CSS 在 IE 中不能正常工作?什么是新的? :p
  • "CSS 在 IE 中无法正常工作?有什么新功能?:p – Nelson LaQuet" QFT!

标签: css internet-explorer firefox safari


【解决方案1】:

我现在没有 FireBug(如果你没有这个扩展 - 得到它!)但是以你现在的方式使用图像是个问题。

使用 CSS 为您网站的主要内容应用“背景图片”属性。例如:

<style>
.Page
{
    background-image : url(../images/site_bg.png) no-repeat;
    width : 600px; /* Image width here */
    heigth : 500px; /* Image height here */
    padding-top : 15px; /* top text offset here */
    padding-left : 15px; /* left text offset here */
    padding-right : 15px; /* right text offset here */
    padding-bottom : 15px; /* bottom text offset here */
}
</style>

...

<div class = "Page">
 <!-- Content -->
</div>

这样会更好,并且可以在所有浏览器中正常工作:)

回应评论

我不想说你的错误,但是当我可以使用鼠标光标单击并拖动背景图像时,这意味着您正在使用 IMG 标签来显示背景而不是(或与背景结合) -图像属性。我几乎可以肯定那是你的问题。删除所有 img 标签并用 div 和 background-image 样式替换它们,您的问题将得到解决。

如果我身上有萤火虫,我可以更详细地介绍。

使用示例代码进行第二次编辑

这里有一些粗略的代码,可以帮助您删除不必要的图像使用。

<style>
    .Container { margin : auto; width : 600px; /* BG and Header Width here */ }

    .Header
    {
        background-image : url(../images/site_header.png) no-repeat;
        width : 600px; /* Image width here */
        heigth : 500px; /* Image height here */
        padding-top : 15px; /* top text offset here */
        padding-left : 15px; /* left text offset here */
        padding-right : 15px; /* right text offset here */
        padding-bottom : 15px; /* bottom text offset here */
    }

    .Header .Link1:link, .Header .Link1:visited, .Header .Link2:link, .Header .Link2:visited
    {
        width : 60px;
        heigth : 60px;
        display : block;
        float : left;
        margin : 10 20px;
    }

    .Header .Link1:link, .Header .Link1:visited
    {
        background-image : url(../images/link1.jpg);
    }

    .Header .Link2:link, .Header .Link2:visited
    {
        background-image : url(../images/link2.jpg);
    }

    .Page
    {
        background-image : url(../images/site_bg.png) no-repeat;
        width : 600px; /* Image width here */
        heigth : 500px; /* Image height here */
        padding-top : 15px; /* top text offset here */
        padding-left : 15px; /* left text offset here */
        padding-right : 15px; /* right text offset here */
        padding-bottom : 15px; /* bottom text offset here */
    }
</style>

...

<div class = "Container">
  <div class = "Header">
    <a href = "link1" id = "Link1"></a>
    <a href = "link2" id = "Link2"></a>
  </div>
  <div class = "Page">
    Content
  </div>
</div>

:)

【讨论】:

  • 我以为这就是我所做的?请原谅我的新手,但我的身体上有一个垂直渐变:body,tr,td { background-color: #ffffff;背景图片:网址(图片/vertbg.jpg); ... } 以及桌子上的另一个背景:#wrapperbig { background-image: url(images/tablebg.jpg); ... }
  • 这是我获得具有绝对定位和渐变背景以及桌子背景的居中布局的唯一方法。非常令人沮丧的过程,只是让它在 IE 中不起作用: :(
【解决方案2】:

您的 html 在很多方面都是 invalid。请先解决这个问题。

【讨论】:

  • 为什么这被否决了?从有效标记开始使调试非常更容易。
  • 这是一个有效的答案 - 不正确的 HTML 是 CSS 问题的常见原因。
  • 问题是他错误地使用了img标签而不是带有背景图像属性的div。这与他拥有标准代码无关。在发布此内容之前,请查看该网站和他的问题。是的,他应该进行验证——但这不是他现在遇到问题的原因。
  • 更好的答案是“您的 HTML 无效,如果您修复并避免这些错误,它将使您的开发体验更好。但是,您的特殊问题是......”这只是居高临下.
  • 我一直在通过这个 convo 处理它,这就是为什么它在 FF3 中可能会出现错误。我知道我正在尝试修复一些 HTML 错误,我知道这会影响一些 CSS。感谢您的帮助和耐心,尼尔森。非常感谢。哦,顺便说一句,我是女孩:)
【解决方案3】:

您可能想尝试添加文档类型。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

编辑:doctype 声明应该是 html 文件中的 first 东西。它甚至在 标记之前

【讨论】:

  • 哇,好像没有人喜欢 HTML 4 过渡版,嗯?
【解决方案4】:

添加 DOCTYPE!

建议使用 HTML5 或 HTML4 Strict过渡)以获得最佳跨浏览器支持。

<!DOCTYPE html>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">


(如您所见,HTML5 更简单,即使您还没有使用 HTML5 标记也仍然可用。)


注意:DOCTYPE 必须是文件中的第一个,在所有其他标记之前,并且之前没有空行、制表符或空格。

【讨论】:

  • HTML4 过渡很好,只要提供完整的 systemId 就会触发标准模式(如 Zack 的评论中所述)。
  • Zack 的回答不适用于某些浏览器(例如旧版本的 Konqueror)。正如您所说,即使是那种级别的支持,也需要提供完整的系统 ID - 告诉人们使用严格模式(或者更好的是 HTML5 文档类型)要简单得多,并且避免任何混淆。
  • 在这种情况下,严格要求更多的工作,因为它强调结构而不是表现。查看原始页面的来源... yowza.
  • Strict 强调正确地做事,这是避免 90% 的 CSS 问题的便捷方法。过渡 DOCTYPE 是“我知道我的代码很垃圾,但我懒得修复它”的简写。 :P
  • 虽然 DOCTYPE 是第一个项目,但我已经将它添加到这个答案和社区维基化中。 :)
【解决方案5】:

快速浏览了 firebug 中的代码。您似乎在内容 div (#wrapperbig) 上有一个 -1 的 z-index,对于非绝对/相对内容,浏览器应该忽略它 - 这在 IE 中可能是一个奇怪的实现。

此外,如前所述,添加一个 doctype - 如果没有 doctype,IE 将以“怪癖模式”呈现网站。

【讨论】:

    【解决方案6】:

    快速解决方案:删除“溢出:自动;”来自#wrapperbig 和#wrapper。

    这将获得要显示的内容。

    但是,请务必查看其他答案。他们有优点。

    【讨论】:

    • 这确实有助于在 IE 中显示内容,但你是对的,还有一些其他错误我需要敲定。不过,感谢您的提示。 :)
    【解决方案7】:

    在 content_left 和 content_right 的绝对位置上发生了太多的事情。您可以通过删除“位置:绝对”并将其替换为两个内容中的“浮动:左”(将包装宽度设置为 100%)。

    【讨论】:

      【解决方案8】:

      谢谢大家的建议。大部分内容现在都显示在 IE 上(相对应如此),除了页脚以粗俗的方式切割我的页面(哈哈)。我明白你在说什么,Nelson LaQuet,关于标题图像,我将不得不尝试使用它们,我对 CSS 还是很陌生,并且弄清楚将它们全部正确放置在图像映射中是很头疼的.至于 Doctype,我按照您告诉我的添加了它,即使在 Firefox 上它似乎也弄乱了一些内容,所以我知道我必须有更多的错误要处理。当我删除它时,一切看起来又正常了。具有绝对定位的“woowoo's”非常必要,因为使用的定位方法是我能找到的唯一方法来巧妙地处理背景图像和标题图像,并且列 div 位于正确的位置。至少我取得了一些积极的进展,但我想我还有更多的工作要做:/只是希望它更容易纠正,因为它在 Firefox 中看起来还不错。哦,好吧,再次感谢你们的帮助,伙计们!

      香农

      【讨论】:

        【解决方案9】:

        我也遇到了同样的问题,经过一番研究找到了解决方案。

        1. 不要在 HTML 文件上编写 CSS 代码
        2. 制作一个单独的 CSfile 并使用 &lt;link rel="stylesheet" href="css/style.css"&gt; 链接到它
        3. 并且总是在每个 HTML 页面中添加&lt;!DOCTYPE&gt; 标签 //*这是主要解决方案

        【讨论】:

          【解决方案10】:

          有时甚至在添加之后

          <!DOCTYPE html>
          

          Css 未加载。

          这是因为前面有空格

            <!DOCTYPE html>
          

          确保它不存在。

          在 IE 中,页面会显示得很糟糕

          【讨论】:

            【解决方案11】:

            不只是之前的空白:

                <!DOCTYPE html>
            

            但也要删除样式表(CSS 文件)中花括号前的空格。 简单样式表的示例(想象它在文本编辑器的左边距):

                h1{
                 font-family:Arial;
                 color:purple;
                }
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2015-03-31
              • 2012-08-04
              • 2013-11-19
              • 2013-01-19
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多