Menus
.Menu
Menus are used when many actions, links or options need to be displayed.
A Menu
should always contain the Menu-button
, Menu-list
and Menu-item
elements. For large menus the Menu-separator
can also be used.
They can be used standalone or be combined with other components into a Set.
For item actions (as opposed to navigational menus) it is preferrable to use a flat set or single buttons instead of a menu if there are three actions or less.
Example
- Edit
- Delete
- More actions
Markup
<div class="Menu " style="margin-left: 5rem;"> <span class="Menu-button">Actions</span> <ul class="Menu-list"> <li><span class="Menu-item">Edit</span></li> <li><span class="Menu-item">Delete</span></li> <li><span class="Menu-separator">More actions</span></li> <li><span class="Menu-item">Print</span></li> </ul> </div>
Menu alignment
By default menus are right aligned (they are commonly placed to the right in the control panels). However, you can explictly set the direction with a modifier.
Modifiers
- Edit
- Delete
- More actions
- Edit
- Delete
- More actions
Markup
<div class="Menu [modifier class]" style="margin-left: 5rem;"> <span class="Menu-button">Actions</span> <ul class="Menu-list"> <li><span class="Menu-item">Edit</span></li> <li><span class="Menu-item">Delete</span></li> <li><span class="Menu-separator">More actions</span></li> <li><span class="Menu-item">Print</span></li> </ul> </div>
Menu sections
Menus in the secondary sections navigation bar use the Menu--sections
modifier to match the navigation bar styling and to adapt when the view port shrinks.
The example markup is wrapped in a Set--section
to set a background color for the Menu
, since it is inherited from the parent element.
(Resize your browser to see it in action.)
Modifiers
Markup
<div style="border: 1px solid #C90062; text-align: right;"> <ul class="Set Set--sections is-opened"> <li class="Set-item"> <div class="Menu Menu--sections"> <span class="Menu-button">Email</span> <ul class="Menu-list"> <li><a class="Menu-item" href="#">Email accounts</a></li> <li><a class="Menu-item" href="#">Email forwards</a></li> <li><a class="Menu-item" href="#">Default email account</a></li> <li><a class="Menu-item" href="#">Mailing lists</a></li> </ul> </div> </li> </ul> </div>