2015-11-16 99 views
1

网站正在这里开发:http://new.brushman.com/about/IE11忽略了内联CSS

,CMS允许逐页的基础页面上添加在线CSS的。加载所有其他.css文件后,此CSS将添加到页面中。

IE11是忽略了风格,甚至,虽然它在8,9,10,边缘,和所有其余器(Chrome,Firefox和Safari等)

内联CSS是:

<style> 
/* CMS Page about CSS */ 
main {background: #d70055;} 
</style> 

,并在所有的CSS文件都加载

有趣的是,检查元素显示有标记的背景,它是在表明它具有最高的优先级列表的顶部。

没有遮盖元素的不透明元素。

有些事情我已经试过: 重要 删除评论 使用RGBA

完全彻底难倒增加额外的新行 !

+0

如何使用背景颜色? – csmckelvey

+0

嗯......你用#main试过了吗? (ID CSS选择器) – sinisake

+0

@nevermind号我加载respond.js,所以也许这就解释了为什么8,9和10工作。我认为在Win10上的Edge工作,因为它是一个适当的浏览器... –

回答

5

这应该工作:

main { 
    display: block; 
    background: #d70055; 
} 

IE不把未知类型的元素为块元素 - 就像在这种情况下the <main> element

+0

正确;你需要'display:block',因为IE浏览器在其浏览器默认的样式表中没有像其他浏览器那样做。 – CBroe

+0

呵呵。这样可行。任何想法为什么8,9,10没有这个工作?我使用html注释方法加载respond.js,也许这与它有什么关系?只要它工作并不重要,但它很好奇...... –

+1

@CraigJacobs它实际上是您的'modernizer.custom.26434.min.js'文件,它正在早期版本的IE中对此进行更正。它为大多数现代浏览器已有的常见HTML5元素提供了一定程度的识别。它只是没有识别IE11需要执行此补偿。恐怕这些“现代化”JavaScript都不会弥补所有HTML5元素的怪癖。它们随着每个新的浏览器颠覆而改变。为旧版本构建它们的工作要少得多,并在发布新版本时进行更新。 –

-1

试试这个

background-color:#d70055;

0

Unfortunatley IE11不支持新的<main> html语义元素。

+0

这是正确的答案,资料来源:http://caniuse.com/#feat=html5semantic可以请downvoter解释他的行为吗? – Muleskinner

+1

我没有downvote你的答案,因为你在技术上是正确的。但是,IE11仍然能够使用用户定义的CSS呈现非标准元素。任何IE11无法识别的元素都将使用'display:inline;'进行渲染。 IE中的自定义元素一直都是允许的,这是补偿应用于这些元素的默认CSS的问题。 –

+1

我投了你的评论,因为它是真的,但我接受@Keammoort答案,因为它解决了这个问题。主要元素在那里和渲染 - 它只是没有正确的样式,因为浏览器不把它当作块级元素。主{display:block}修复了这个问题。 –