Internet explorer Primefaces菜单栏样式在IE 8上被破坏

Internet explorer Primefaces菜单栏样式在IE 8上被破坏,internet-explorer,jsf-2,primefaces,myfaces,Internet Explorer,Jsf 2,Primefaces,Myfaces,我的应用程序中有一个简单的菜单栏,在chrome和firefox上运行得非常好。但是,当我用IE8进行测试时,菜单栏的风格被打破了。我认为这只是一种风格,因为链接运行良好。下面是我在IE 8上的菜单截图: 和我的菜单栏代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://j

我的应用程序中有一个简单的菜单栏,在chrome和firefox上运行得非常好。但是,当我用IE8进行测试时,菜单栏的风格被打破了。我认为这只是一种风格,因为链接运行良好。下面是我在IE 8上的菜单截图:

和我的菜单栏代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">

    <ui:composition>
        <h:form id="menuForm">
            <p:menubar id="appMenu">
               <p:menuitem value="Celulares" url="#{menuMB.toMeusCelularesIndex()}" rendered="#{p:ifAnyGranted('USER')}" />

                <p:submenu label="Celulares (Admin)" rendered="#{p:ifAnyGranted('ADMIN')}">
                    <p:menuitem value="Titulares" url="#{menuMB.toCelularTitularIndex()}" rendered="#{p:ifAnyGranted('ADMIN')}" />
                    <p:menuitem value="Agregados" url="#{menuMB.toCelularAgregadoIndex()}" rendered="#{p:ifAnyGranted('ADMIN')}" />
                </p:submenu>

                <p:submenu label="Faturas" rendered="#{p:ifAnyGranted('ADMIN')}">
                    <p:menuitem value="Titulares" url="#{menuMB.toFaturaTitularIndex()}" rendered="#{p:ifAnyGranted('ADMIN')}" />
                    <p:menuitem value="Agregados" url="#{menuMB.toFaturaAgregadoIndex()}" rendered="#{p:ifAnyGranted('ADMIN')}" />
                </p:submenu>

                <p:submenu label="Sistema" rendered="#{p:ifAnyGranted('ADMIN')}">
                    <p:menuitem value="Forçar Login" url="#{menuMB.toForcarLogin()}" rendered="#{p:ifAnyGranted('ADMIN')}"/>
                    <p:menuitem value="Fazer Checkup" url="#" rendered="#{p:ifAnyGranted('ADMIN')}" />
                    <p:menuitem value="Administradores" url="#{menuMB.toAdministradores()}" rendered="#{p:ifAnyGranted('ADMIN')}" />
                    <p:menuitem value="Parâmetros do Sistema" url="#{menuMB.toParametrosIndex()}" rendered="#{p:ifAnyGranted('ADMIN')}" />
                </p:submenu>

                <p:menuitem value="Sair" url="#{menuMB.toLogout()}" rendered="#{p:ifAnyGranted('USER')}" />
            </p:menubar>
        </h:form>
    </ui:composition>
</html>

我访问了,它在IE8上工作。我只能想象我在代码上犯了一些错误。我目前正在使用:

  • PrimeFaces4.0
  • MyFaces 2.1.12
  • Tomcat 7.0.42

如果您需要更多信息,请让我知道。

当您
打开您的网站时,请在IE8中检查您的开发人员工具,其中style Breaked
Primefaces showcase
,并在两种情况下检查文档模式和浏览器模式。请查看您在加载两个网站时发现的任何差异。查看这些链接以了解有关此行为的更多信息

此链接说明如何通过在
XHTML
文件中指定,强制IE8以不会以编程方式中断
CSS
的模式打开


打开网站时,请在IE8中检查开发者工具,其中style Breaked和
Primefaces showcase
,并在两种情况下检查
文档模式和
浏览器模式。请查看加载两个网站时发现的任何差异。谢谢,@SRy!就这样。我将兼容模式改为IE8,它成功了。我几乎不使用IE,甚至不知道这种兼容模式。你知道我怎样才能把你的评论变成答案吗?