2012-03-30 49 views
2

我有一个奇怪的问题,IE 7和8没有加载大约80%的样式表,它们到达某个点,然后不要进一步加载。 IE开发工具识别卸载的属性,但它们不适用于浏览器。以下样式表全部正确加载,其他浏览器没有任何问题。此外,与原生产版本相同的90%的HTML原型网站没有问题。IE 7&8无法加载(或正确级联)样式表的一部分

该网站正在Wordpress本地构建,但我已经上传了主页的源码here,如果有帮助的话(样式表不能正确加载'760.css')。此外,(正常工作)原型可以被看作here,但该版本和转换为Wordpress之间已经做了一些改变。

违规的样式表(似乎UL#菜单网站导航特性后停止加载已应用):

/* 
Created by Mikey Clarke | @mikey_clarke 
*/

#nav-bar { font-size: 0.95em; padding: 0px 0px; } #nav-bar ul { text-align: left; } ul#menu-site-nav { width: 95%; margin: 0 auto; } #nav-bar li.primary-nav { width: 14.584%; padding: 20px 1.042%; float: left; text-transform: uppercase; } #nav-bar li.primary-nav:first-child { display: block; padding-left: 1.042%; } #nav-bar li.primary-nav:nth-child(2) { padding-left: 1.042%; /* restore outer padding */ } #nav-bar li.primary-nav:last-child { padding-right: 1.042%; /* restore outer padding */ } #nav-bar li ul { display: block; width: 100%; text-transform: capitalize; } #nav-bar li ul li { float: none; padding: 0px 0px; display: list-item; } #nav-bar li.shield-logo { background: url(/wp-content/themes/itsa/images/shield.png) no-repeat; background-size: 25px; background-position: 10px 23px; } #nav-bar .shield-logo span { text-indent: 1000%; white-space: nowrap; overflow: hidden; display: block; padding-bottom: 12px; } #masthead { font-size: 2.25em; padding: 35px 0; } #masthead a { display: block; padding: 0 160px; } #content { width: 82.279%; padding-right: 1.042%; float: left; } .sidebar { width: 14.586%; float: left; text-align: right; padding: 0px 1.042% 20px 1.042%; background: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; border: none; } #section-nav>ul>li>span { padding: 4px 4%; border: 1px solid transparent; margin-bottom: 4px; } #section-nav li ul li { padding: 4px 4%; margin: 4px 0px; border: 1px solid transparent; } #section-nav>ul>li.current-menu-item>span, #section-nav>ul>li>ul>li.current-menu-item { -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; border: 1px solid #f6f6f6; -webkit-box-shadow: inset 0px 1px 4px rgba(0,0,0,0.3); -moz-box-shadow: inset 0px 1px 4px rgba(0,0,0,0.3); box-shadow: inset 0px 1px 4px rgba(0,0,0,0.3); background-color: #ececec; background: rgba(0,0,0,0.02); } #breadcrumbs { font-size: 0.9em; } /* Restore content only useful for users browsing from desktops */ .mobile-superfluous { display: block; } @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) { #nav-bar li.shield-logo { background: url(/wp-content/themes/itsa/images/[email protected]) no-repeat; background-size: 25px; } }
+0

如果您使用的是基于id的CSS选择器,您通过在元素类型前加上了什么优点?你能删除'ul'并看看会发生什么吗? – TLS 2012-03-30 22:06:08

+0

@TLS恐怕没有什么区别。 – TheGuest 2012-03-30 22:10:01

回答

3

手工重写整个样式表后并在每行之后进行测试,似乎问题与最后的媒体查询有关。我已经单独删除了媒体查询的每个部分,并且完全无法确定IE正在窒息的部分。我还将媒体查询复制并粘贴到不同的样式表中,并且该样式表在IE 7中正常加载。8非常奇怪。

因为它在没有媒体查询的情况下工作,所以我将它移到了另一个可以正常工作的样式表中。

1

您的问题似乎是事实,你有一些CSS伪选择这些浏览器不支持使用,即:nth-child:last-child

虽然它应该工作我他们有可能用不带空格用来直接子选择器的麻烦(这只是一个猜测,但不是牵强),即section-nav>ul>li也许应该#section-nav > ul > li

请记住,IE7和我认为8以及不支持rgba要么。

任何成功解析错误或丢失的风格可能是由于这一点,也许......

有关详细规范的更多信息IE7 +应该支持,请阅读this excellent article about CSS2.1 selectors

+0

删除CSS3选择器是我尝试的第一件事情之一,不幸的是,没有运气,'>'周围的空白是可选的。我有背景颜色应用作为后备,因为既不支持rgba :) – TheGuest 2012-03-31 14:10:37

+0

我知道这是可选的,这只是一个想法,@media听起来合乎逻辑,不要忘记接受你自己的答案! – sg3s 2012-03-31 14:58:22