Necesito hacer un menu personalisado en JSF con Facelets, como por ejemplo de aqui de foros del web.
El problema es que las etiquetas <ul> y <li> de html no estan en jsf y me pone problemas al mostrarlos, tengo lo siguiente:
css
Código:
este es el codigo del template:#menu, #menu ul { margin: 0; padding: 0; list-style: none; } #menu { width: 100%; background-color: #ffffff; border-bottom: #D20005 solid 3px; box-shadow: #ff7f7f 0px 2px; -moz-box-shadow: #ff7f7f 0px 2px; } #menu:before, #menu:after { content: ""; display: table; } #menu:after { clear: both; } #menu { zoom:1; } #menu li { float: left; border-right: 1px solid #222; box-shadow: 1px 0 0 #444; position: relative; } #menu a { float: left; padding: 12px 30px; color: #999; text-transform: uppercase; font: bold 12px Arial, Helvetica; text-decoration: none; text-shadow: 0 1px 0 #000; } #menu li:hover > a { color: #fafafa; } #menu ul { margin: 20px 0 0 0; _margin: 0; /*IE6 only*/ opacity: 0; visibility: hidden; position: absolute; top: 38px; left: 0; z-index: 1; background: #444; background: linear-gradient(#444, #111); box-shadow: 0 -1px 0 rgba(255,255,255,.3); border-radius: 3px; transition: all .2s ease-in-out; } #menu li:hover > ul { opacity: 1; visibility: visible; margin: 0; } #menu ul ul { top: 0; left: 150px; margin: 0 0 0 20px; _margin: 0; /*IE6 only*/ box-shadow: -1px 0 0 rgba(255,255,255,.3); } #menu ul li { float: none; display: block; border: 0; _line-height: 0; /*IE6 only*/ box-shadow: 0 1px 0 #111, 0 2px 0 #666; } #menu ul li:last-child { box-shadow: none; } #menu ul a { padding: 10px; width: 130px; display: block; white-space: nowrap; float: none; text-transform: none; } #menu ul a:hover { background-color: #0186ba; background-image: linear-gradient(#04acec, #0186ba); } #menu ul li:first-child > a { border-radius: 3px 3px 0 0; } #menu ul li:first-child > a:after { content: ''; position: absolute; left: 40px; top: -6px; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 6px solid #444; } #menu ul ul li:first-child a:after { left: -6px; top: 50%; margin-top: -6px; border-left: 0; border-bottom: 6px solid transparent; border-top: 6px solid transparent; border-right: 6px solid #3b3b3b; } #menu ul li:first-child a:hover:after { border-bottom-color: #04acec; } #menu ul ul li:first-child a:hover:after { border-right-color: #0299d3; border-bottom-color: transparent; } #menu ul li:last-child > a { border-radius: 0 0 3px 3px; } }
Código:
Este el codigo del template cliente:<div id="menu" > <ui:insert name="menu"> </ui:insert> </div>
Código:
tambien he intentado creando listas en un beam como por ejemplo:<ui:define name="menu"> <ul> <li>contenido1</li> <li>contenido2</li> <li>contenido3</li> </ul> </ui:define>
Código:
pero nada de esto funciona. Agradesco cualquier ejemplo, ya que hacia un tiempo largo no programaba. <ul> <ui:repeat value="#{myBean.items}" var="item"> <li><h:outputText value="#{item.name}"/></li> </ui:repeat> </ul>