Primefaces菜单栏菜单项宽度
我的菜单有问题 :( 想包括一张照片,但未被允许 所以没有它的问题是愚蠢的 我似乎无法更改下拉菜单的宽度, 我在头脑中加入了一种风格,在头脑中加入了一种宽度属性 每一个菜单项,但它们没有区别:Primefaces菜单栏菜单项宽度,primefaces,Primefaces,我的菜单有问题 :( 想包括一张照片,但未被允许 所以没有它的问题是愚蠢的 我似乎无法更改下拉菜单的宽度, 我在头脑中加入了一种风格,在头脑中加入了一种宽度属性 每一个菜单项,但它们没有区别: <style> ui-menu .ui-menu-parent .ui-menu-child { width: 400px; /* exagerated !! */ } </style> ui菜单。ui菜单父菜单。ui菜单子菜单 { 宽度:400px;/*放大*/ }
<style>
ui-menu .ui-menu-parent .ui-menu-child
{
width: 400px; /* exagerated !! */
}
</style>
ui菜单。ui菜单父菜单。ui菜单子菜单
{
宽度:400px;/*放大*/
}
当菜单项高亮显示时,选择栏的宽度正确
有什么线索吗???,下面是一个示例菜单栏
<p:menubar>
<p:submenu label="Menu 1"
style="text-align: left;">
<p:menuitem ajax="false"
action="/Page1"
value="Page 1"
style="width: 350px;"/>
<p:menuitem ajax="false"
action="/too_long_page"
value="Some really long menu text that is far too long"
style="width: 350px;" />
<p:menuitem ajax="false"
action="/too_long_page"
value="Some really long menu text that is far too long"
style="width: 350px;" />
</p:submenu>
<p:menuitem ajax="false"
action="/Page2"
value="Page 2" />
</p:menubar>
标题中的样式元素很可能被页面标记中放置在其后的Primefaces样式表覆盖。如果通过Firebug查看页面,您可能会注意到自定义样式实际上被Primefaces样式表覆盖 注意,您的样式表是正确的,因为使用Firebug我能够通过在DOM元素上强制使用此样式来增加菜单宽度 尝试将此样式标记放在正文中,看看是否会有所不同。这将有助于:
.ui-menu {
min-width: 350px;
}
ul.ui-menu-child{
宽度:250px!重要;
}
临时解决方案。谢谢,谢谢,谢谢,终于有答案了 给你
<?xml version='1.0' encoding='UTF-8' ?>
<!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:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<h:head>
<title>Prime Faces Examples - ??</title>
<style>
ul.ui-menu-child
{
width: 460px !important;
}
</style>
</h:head>
<h:body>
<h:form>
<p:menubar>
<p:submenu label="Menu 1"
style="text-align: left;">
<p:menuitem ajax="false"
action="/Page1"
value="Page 1"
style="width: 450px;"/>
<p:menuitem ajax="false"
action="/too_long_page"
value="Some really long menu text that is far too long"
style="width: 450px;" />
<p:menuitem ajax="false"
action="/too_long_page"
value="Some really long menu text that is far too long"
style="width: 450px;" />
</p:submenu>
<p:menuitem ajax="false"
action="/Page2"
value="Page 2" />
</p:menubar>
</h:form>
</h:body>
</html>
素数面示例-??
ul.ui-menu-child
{
宽度:460px!重要;
}
如果希望宽度跟随内容,请使用此选项
ul.ui-menu-child {
white-space: nowrap;
width: auto !important;
}
使用以下命令:
<style>
ul.ui-menu-child
{
white-space: nowrap;
width: 290px !important;
}
</style>
ul.ui-menu-child
{
空白:nowrap;
宽度:290px!重要;
}
仅更改所需的像素:),菜单的下拉宽度将更改。其他选项
ul.ui-menu-child {
width: auto !important;
min-width: 200px;
}
要根据最大内容获得子菜单宽度,即使图标已就位,也可以使用以下方法 (jsf): 也许你必须根据你的图标大小来调整计算中使用的像素,但是使用的值对于我的主题来说效果很好
谢谢,不过,我尝试了所有这方面的变化,我认为这是进一步向下,我甚至尝试了重要的!,如果我可以上传一个屏幕截图,你会发现问题所在,或者尝试在你的菜单项上使用很长的文本重新创建它。这对我很有用。尝试从css源中删除对ui菜单的所有其他引用。我还将定义更改为min width,因为width也更改了p:menubar的宽度。谢谢,我会尝试一下,当我有机会时,不幸的是我有一件可怕的事情叫做“工作”:嗯,有趣的用户名,无论如何,我会尝试,谢谢,请参阅上面Primefaces 6.2上的评论,这项工作对我所有的菜单都是正确的。除了包含在两行上显示图标的项目之外。对于所有这些子菜单,我明确地固定了宽度。我赞成:-)
ul.ui-menu-child {
width: auto !important;
min-width: 200px;
}
<p:menubar styleClass="yourClass">
.ui-menu.ui-menubar.yourClass .ui-menuitem-text {
white-space: nowrap;
}
.ui-menu.ui-menubar.yourClass .ui-menu-child {
width: auto;
padding-right: 34px;
}
.ui-menu.ui-menubar.yourClass .ui-menu-child .ui-menuitem {
width: calc(100% + 30px);
}