Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Primefaces menubar right align submenu

I've discovered I can play a commandbutton in the options facet (right side of menubar), however I can't seem to add a submenu in the same way. I want an actual menu dropdown aligned to the right, not a button.

Any ideas?

No menu

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

<h:head title="Primefaces Test">
   <style>
.ui-layout-north {
   z-index: 20 !important;
   overflow: visible !important;
}

.ui-layout-north .ui-layout-unit-content {
   overflow: visible !important;
}
</style>
</h:head>

<h:body>
   <h:form>
      <p:layout fullPage="true">
         <p:layoutUnit position="north">
            <p:menubar>
               <p:submenu label="Mail">
                  <p:menuitem value="Gmail" url="http://www.google.com" />
                  <p:menuitem value="Hotmail" url="http://www.hotmail.com" />
                  <p:menuitem value="Yahoo Mail" url="http://mail.yahoo.com" />
               </p:submenu>
               <p:submenu label="Videos">
                  <p:menuitem value="Youtube" url="http://www.youtube.com" />
                  <p:menuitem value="Break" url="http://www.break.com" />
               </p:submenu>
               <f:facet name="options">
                  <p:commandButton value="logout" />
                  <p:submenu label="Videos">
                     <p:menuitem value="Youtube" url="http://www.youtube.com" />
                     <p:menuitem value="Break" url="http://www.break.com" />
                  </p:submenu>
               </f:facet>
            </p:menubar>
         </p:layoutUnit>
         <p:layoutUnit position="center">
            <h:outputText value="Hello, world." />
         </p:layoutUnit>
      </p:layout>
   </h:form>
</h:body>
</html>

-- Shane

like image 551
Shane Avatar asked Jun 28 '26 05:06

Shane


1 Answers

I solve it using something like this:

style="position: absolute; right: 6px;"

Just try it.

like image 149
Andrés Avatar answered Jun 29 '26 19:06

Andrés



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!