【问题标题】:CSS gets all screwed up in IE(like half of the CSS didn't get loaded)CSS 在 IE 中被搞砸了(就像一半的 CSS 没有被加载)
【发布时间】:2011-09-30 05:32:11
【问题描述】:

我有一个网站在 IE 中完全搞砸了,我想知道是否有人可以帮助我找出问题所在。

有问题的页面是http://eksai.com/testing/

当我在 IE 中打开它时,好像有一半的 CSS 代码没有加载。字体颜色相同,没有列等。我已将 CSS 文件缩减到最低限度,试图找出造成这种情况的原因……但我仍然无法正常工作。

谁能帮我弄清楚是什么原因造成的?

这是 CSS 文件:

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}
a img{border:none}
@font-face{font-family:"agb";src:url("../fonts/b.eot");src:url("../fonts/b.eot?#iefix") format("eot"),url("../fonts/b.ttf") format("truetype")}
body, input,textarea,select,button{font:normal 16px "helvetica neue",helvetica,arial,sans-serif;line-height:24px}
h1{font:48px/60px "helvetica neue",helvetica,arial,sans-serif;font-weight:normal;margin-bottom:20px}
h2{font-size:26px;line-height:30px;margin-bottom:5px;font-weight:bold}
h3{margin-bottom:5px;font-size:20px;line-height:25px;font-weight:normal;color:#3a3e42}
h4{font-weight:bold}
a{outline:0;text-decoration:none;color:#2d81c5}
html{background:#d5d8db url(../images/public/body.png) fixed;background:url(../images/public/body-gradient.png) repeat-x fixed,#d5d8db url(../images/public/body.png) fixed;color:#52585d;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.wrapper{position:relative;width:1020px;margin:30px auto 100px;padding:0 2px}
.page{position:relative;background:#fff url(../images/public/page.png);-moz-box-shadow:0px 0px 3px rgba(0,0,0,0.5);-webkit-box-shadow:0px 0px 3px rgba(0,0,0,0.5);-o-box-shadow:0px 0px 3px rgba(0,0,0,0.5);box-shadow:0px 0px 3px rgba(0,0,0,0.5);margin-bottom:20px;min-height:400px}
.page:after{content:" ";position:absolute;bottom:-8px;left:-1px;width:1022px;height:8px;text-indent:-119988px;overflow:hidden;text-align:left;background-image:url('../images/public/page-shadow.png');background-repeat:no-repeat;background-position:0 0}
.platter-section{padding:20px 60px 0px 20px;}
.main-nav{height:74px;background:#fff;-moz-box-shadow:rgba(0,0,0,0.1) 0 1px;-webkit-box-shadow:rgba(0,0,0,0.1) 0 1px;-o-box-shadow:rgba(0,0,0,0.1) 0 1px;box-shadow:rgba(0,0,0,0.1) 0 1px}
.main-nav .logo{position:absolute;top:18px;left:24px;display:block;width:152px;height:40px}
.main-nav .actions{position:absolute;top:20px;right:25px}

.hang{    background-image: url("../images/hang.png");     background-position: 0 0; background-repeat: no-repeat; height: 284px; left: 180px; overflow: hidden;  position: absolute; text-align: left; text-indent: -119988px; top: -46px; width: 300px; }
.actions {z-index: 2;}




h1{font-size:60px;line-height:64px;margin:20px 0}
.alpha{float:left;width:474px; color:#ff0000;}
.beta{color:#fff000; border-left: 1px solid rgba(0, 0, 0, 0.1); float: left; padding-bottom: 20px; padding-top: 159px; position: relative; width: 300px;} 
.signup-section-full-width{clear:both;}

【问题讨论】:

  • 可能不是 IE 兼容的 CSS。您可以为我们发布您的 CSS 吗?
  • 我很乐意提供帮助,但是according to WoT,该网站非常不安全,与强制安装木马等有关联。
  • 您的页面在 Chrome 和 IE9 中呈现相同,我没有看到问题。
  • 这可能是安装字体造成的,把它拿出来现在安全了

标签: html css internet-explorer cross-browser


【解决方案1】:

您应用样式的许多元素是 HTML5 - IE8 及更低版本无法将它们识别为有效的、块级的或可样式化的。

对于旧版本的 Firefox,您只需要执行以下操作:

section, article {display:block;}

对于旧版本的 IE,在头部使用这个:

<!--[if lt IE 9]> 
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

【讨论】:

    【解决方案2】:

    仅供参考,您有许多 CSS 错误。

    http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Feksai.com%2Ftesting%2Ffiles%2Fpublic.css&profile=css21&usermedium=all&warning=1&vextwarning=&lang=en

    编辑:

    您还使用了 HTML5 元素,因此您可能想要包含 Modernizr 之类的东西,它将使 HTML5 适应低级浏览器。

    【讨论】:

    • 那些元素是什么?我想首先降级到最低工作页面只是为了得到一些有用的东西
    • @Andrew - nav 和 section 都是 HTML5,IE
    【解决方案3】:

    IE8 及以下版本默认不支持您在 HTML5 中使用的未知元素的 CSS(但在 IE9 中没有模糊)。

    但是如果你用 JS document.createElement 创建一个具有相同标记名的元素,IE 会神奇地知道那些以前未知的元素。见这里:http://ejohn.org/blog/html5-shiv/

    所以使用一个创建 HTML5 虚拟元素的脚本,你就可以继续了。 http://remysharp.com/2009/01/07/html5-enabling-script/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-13
      • 1970-01-01
      • 2012-02-27
      • 2014-10-30
      相关资源
      最近更新 更多