我有一个奇怪的问题,IE 7 和 8 没有加载我的一个样式表的大约 80%,它们到达某一点,然后不再加载。 IE 开发工具可以识别卸载的属性,但它们不会在浏览器中应用。以下样式表都可以正确加载,并且其他浏览器没有任何问题。此外,与接近生产版本大约90%相同的HTML原型(prototype)网站没有问题。
该网站是在 WordPress 上本地构建的,但我已经上传了主页的源代码 here ,应该有帮助吗(无法正确加载的样式表是“760.css”)。此外,可以查看(正确工作的)原型(prototype) here ,但该版本与转换为 Wordpress 之间进行了一些更改。
有问题的样式表(似乎在应用 ul#menu-site-nav 属性后停止加载):
/*
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/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="addec5c4c8c1c9ed9f83ddc3ca" rel="noreferrer noopener nofollow">[email protected]</a>) no-repeat;
background-size: 25px;
}
}
最佳答案
手工重写整个样式表并在每一行后进行测试后,问题似乎出在最后的媒体查询上。我已经单独删除了媒体查询的每个部分,并且完全无法识别 IE 被阻塞的部分。我还将媒体查询复制并粘贴到不同的样式表中,该样式表在 IE 7 和 8 中加载良好。非常奇怪。
由于它无需媒体查询即可工作,因此我已将其移至另一个可以正常工作的样式表。
关于css - IE 7 和 8 无法加载(或可能正确级联)样式表的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9950955/