2

div 滚动表格,但数据不移动。它在 IE9(非兼容模式)和 Firefox 中运行良好。下面是一个简单的例子。有人知道解决方法吗?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui">

<h:head>
    <title>Carousel Test</title>
</h:head>

<h:body>

    <h:form id="evaluationForm">

        <div style="overflow:auto; height:200px">
            <p:dataTable value="#{evaluationBean.items}" var="item">
                <p:column headerText="ID">
                    <h:outputText value="#{item.id}" />
                </p:column>
            </p:dataTable>
        </div>

    </h:form>

</h:body>

</html>

谢谢,尼尔

4

1 回答 1

3

只需通过以下方式关闭 IE 兼容性模式

<h:head>
    <f:facet name="first">
        <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> 
    </f:facet>
    ...
</h:head>

请注意,这<f:facet name="first">是特定于 PrimeFaces 的。因此,如果您不使用它,只需将其删除并将<meta>标签放在 的最顶部<h:head>,它也可以正常工作。关键是它必须出现PrimeFaces 生成的<link>指向主题 CSS 的元素之前。另请参阅MSDN 文档

X-UA-Compatible 标头不区分大小写;但是,它必须出现在网页的标题中(HEAD 部分),在除title元素和其他元素之外的所有其他元素之前meta

<link>因此,这意味着它在出现在例如元素之后时将不起作用。

于 2012-12-06T12:01:41.160 回答