2012-02-06 14 views
5

kilka dni temu zadaję 1 pytanie na forum z priorytetami, ale nikt mi nie odpowiada.menu główne nie można w pełni wyświetlić w pełnym układzie strony

W przypadku wystąpienia problemu podczas korzystania z pełnego układu strony (pozycja = "zachód") podmenu nie może się w pełni wyświetlić. Czy mogę wyświetlać nakładanie się na (position = "center"), ponieważ nie chcę zwiększać szerokości układu zachodniego?

poniżej link atatch z obrazem jako odniesieniem.

http://www.imagebucket.net/bucket/is.php?i=10434&img=image.jpg

to część kodu:

<p:layoutUnit position="west" size="200" > 
    <ui:insert name="sideBar">       
    <h:form> 
     <p:menu type="tiered" > 
     <p:submenu label="Sales" >          
      <p:menuitem disabled="#{user.customer}" value="Approve" url="/sales/approve.jsf" style="width:50px" />             
     </p:submenu> 
     <p:separator /> 
     <p:submenu label="Customer"> 
      <p:menuitem disabled="#{user.sales}" value="customer" url="/customer/customer.jsf" style="width:50px" /> 
     </p:submenu> 
     </p:menu> 
    </h:form>   
    </ui:insert> 
</p:layoutUnit> 

po prostu zaktualizować primefaces 3,1, i okazało się, dostaje 1 funkcji overlayPanel, mogę wiedzieć, czy może on być stosowany w celu rozwiązania mojego problemu ?

góry dzięki ..

[Eclipse Indigo, Tomcat 7, Java EE 6, PrimeFaces 3.1 Mojarra 2.0.3]

+0

To nie jest odpowiedź, ale tylko niektóre informacje. Domyślnie element DOM podmenu ma wbudowany zestaw stylów dla 'z-index: 1001', gdy jest to' display: none', jednak gdy jest ustawiony na 'display: block' ze zdarzenia nazywania JavaScript, to samo zdarzenie jest również zwiększenie 'z-index: 1018'. Problem polega na tym, że nawet jeśli ustawisz styl inline, prawdopodobnie zostanie on przesłonięty przez javascripts Primefaces. Ale nawet wtedy nie myślę, że z-index jest przyczyną, ponieważ indeks Z dla centralnego panelu jest zwykle domyślnie ustawiony na 1. Z pewnością nie jest to łatwy problem. –

Odpowiedz

9

wreszcie ktoś odpowiedział mój post na forum primefaces.
To rozwiązało mój problem.
tu jest link:
http://forum.primefaces.org/viewtopic.php?f=3&t=18033&p=56425#p56425

zmiana:
odpowiedź: niektóre sztuczki css będzie w stanie go naprawić, wystarczy zmienić właściwość przepełnienia i z-index.
załączam kod odpowiedzi jak poniżej:

<h:head> 
<style> 
    #leftPanel {z-index:2 !important; } 
    #leftPanel div{overflow:visible;} 
</style> 
</h:head> 

<p:layoutUnit position="west" size="200" id="leftPanel"> 
    <ui:insert name="sideBar">       
    <h:form> 
     <p:menu type="tiered" > 
     <p:submenu label="Sales" >          
      <p:menuitem disabled="#{user.customer}" value="Approve" url="/sales/approve.jsf" style="width:50px" />             
     </p:submenu> 
     <p:separator /> 
     <p:submenu label="Customer"> 
      <p:menuitem disabled="#{user.sales}" value="customer" url="/customer/customer.jsf" style="width:50px" /> 
     </p:submenu> 
     </p:menu> 
    </h:form>   
    </ui:insert> 
</p:layoutUnit>