如何在 MaterializeCSS 下拉菜单中创建子菜单?
How can I make the submenu in the MaterializeCSS dropdown?
我正在尝试使用 MaterializeCSS 框架在下拉菜单中添加子菜单下拉菜单。我尝试了以下代码,但没有成功。
<!-- this the main dropdown -->
<ul id="MainDropDown" class="dropdown-content">
<li><a href="#" class="dropdown-button" data-beloworigin="true" data-contrainwidth="false" data-gutter="30" data-alignment="right" data-activates="drop1">Dropdown1<span class="right caret">►</span></a></li>
<li><a href="#" class="dropdown-button" data-beloworigin="true" data-contrainwidth="false" data-gutter="30" data-alignment="right" data-activates="drop2">Dropdown2<span class="right caret">►</span></a></li>
<li><a href="#" class="dropdown-button" data-beloworigin="true" data-contrainwidth="false" data-gutter="30" data-alignment="right" data-activates="drop3">Dropdown3<span class="right scaret">►</span></a></li>
</ul>
<ul id="drop1" class="dropdown-content">
<li><a href="#">Create</a></li>
</ul>
<ul id="drop2" class="dropdown-content">
<li><a href="#">Create</a></li>
<li><a href="#">Update</a></li>
</ul>
<ul id="drop3" class="dropdown-content">
<li><a href="#">Create</a></li>
</ul>
我自己也遇到了同样的问题。
结果证明它就像嵌套另一个下拉菜单一样简单 link,
设置合适的排水沟,并确保溢出
下拉内容 设置为 可见。
这是 link 修改后的 jsfiddle linked in
https://jsfiddle.net/fb0c6b5b/
$('.dropdown-button2').dropdown({
inDuration: 300,
outDuration: 225,
constrain_width: false, // Does not change width of dropdown to that of the activator
hover: true, // Activate on hover
gutter: ($('.dropdown-content').width()*3)/2.5 + 5, // Spacing from edge
belowOrigin: false, // Displays dropdown below the button
alignment: 'left' // Displays dropdown with edge aligned to the left of button
}
);
.dropdown-content{
overflow: visible !important;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.6/css/materialize.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class='dropdown-button btn' href='#' data-activates='dropdown1' data-beloworigin="true">Drop Me!</a>
<ul id='dropdown1' class='dropdown-content'>
<li><a href="#!">two</a></li>
<li class="divider"></li>
<li><a href="#!">three</a></li>
<li><a class='dropdown-button2 d' href='#' data-activates='dropdown2' data-hover="hover" data-alignment="left">Drop Me!</a></li>
</ul>
<ul id='dropdown2' class='dropdown-content'>
<li><a href="#!">one</a></li>
<li><a href="#!">two</a></li>
<li class="divider"></li>
<li><a href="#!">three</a></li>
</ul>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.6/js/materialize.min.js"></script>
我在这里试过了,但我的是在下拉菜单的同一行上对齐的,然后就成功了:
.dropdown-content {
overflow-y: visible;
}
.dropdown-content .dropdown-content {
margin-left: 100%;
}
我正在尝试使用 MaterializeCSS 框架在下拉菜单中添加子菜单下拉菜单。我尝试了以下代码,但没有成功。
<!-- this the main dropdown -->
<ul id="MainDropDown" class="dropdown-content">
<li><a href="#" class="dropdown-button" data-beloworigin="true" data-contrainwidth="false" data-gutter="30" data-alignment="right" data-activates="drop1">Dropdown1<span class="right caret">►</span></a></li>
<li><a href="#" class="dropdown-button" data-beloworigin="true" data-contrainwidth="false" data-gutter="30" data-alignment="right" data-activates="drop2">Dropdown2<span class="right caret">►</span></a></li>
<li><a href="#" class="dropdown-button" data-beloworigin="true" data-contrainwidth="false" data-gutter="30" data-alignment="right" data-activates="drop3">Dropdown3<span class="right scaret">►</span></a></li>
</ul>
<ul id="drop1" class="dropdown-content">
<li><a href="#">Create</a></li>
</ul>
<ul id="drop2" class="dropdown-content">
<li><a href="#">Create</a></li>
<li><a href="#">Update</a></li>
</ul>
<ul id="drop3" class="dropdown-content">
<li><a href="#">Create</a></li>
</ul>
我自己也遇到了同样的问题。 结果证明它就像嵌套另一个下拉菜单一样简单 link, 设置合适的排水沟,并确保溢出 下拉内容 设置为 可见。
这是 link 修改后的 jsfiddle linked in
https://jsfiddle.net/fb0c6b5b/
$('.dropdown-button2').dropdown({
inDuration: 300,
outDuration: 225,
constrain_width: false, // Does not change width of dropdown to that of the activator
hover: true, // Activate on hover
gutter: ($('.dropdown-content').width()*3)/2.5 + 5, // Spacing from edge
belowOrigin: false, // Displays dropdown below the button
alignment: 'left' // Displays dropdown with edge aligned to the left of button
}
);
.dropdown-content{
overflow: visible !important;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.6/css/materialize.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class='dropdown-button btn' href='#' data-activates='dropdown1' data-beloworigin="true">Drop Me!</a>
<ul id='dropdown1' class='dropdown-content'>
<li><a href="#!">two</a></li>
<li class="divider"></li>
<li><a href="#!">three</a></li>
<li><a class='dropdown-button2 d' href='#' data-activates='dropdown2' data-hover="hover" data-alignment="left">Drop Me!</a></li>
</ul>
<ul id='dropdown2' class='dropdown-content'>
<li><a href="#!">one</a></li>
<li><a href="#!">two</a></li>
<li class="divider"></li>
<li><a href="#!">three</a></li>
</ul>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.6/js/materialize.min.js"></script>
我在这里试过了,但我的是在下拉菜单的同一行上对齐的,然后就成功了:
.dropdown-content {
overflow-y: visible;
}
.dropdown-content .dropdown-content {
margin-left: 100%;
}