Semantic-ui: UI stackable menu does not stack the child "right menu"

Created on 24 Jan 2016  路  18Comments  路  Source: Semantic-Org/Semantic-UI

The right menu inside ui stackable menu does not display correctly on mobile devices

<div class="ui stackable menu">
  <a class="item">Browse</a>
  <a class="item">Submit</a>
  <div class="right menu">
    <a class="item">Sign Up</a>
    <a class="item">Help</a>
  </div>
</div>

Example:
http://jsfiddle.net/7wpm7bka/

Evaluating Bug / Change

Most helpful comment

This solved it for me:

<div class="ui stackable menu">
    <a class="item">My first left item</div> 
    <a class="item">My second left item</a>
    <a class="right item">My first right item</a> 
    <a class="item">My second right item</a> 
</div>

There may be a missing border on the right side, but currently this seems to be the best solution.

All 18 comments

I've been struggling with this as well.

This should be easy

Do you want to handle this ?
or need help ?
:)

Got it

Thanks jack. You're a rockstar!

I am still having this kind of problem, how to fix this?

@eskiesirius you may use '.right.item' instead of '.right.menu .item'.

I'm still getting this behavior as well..
Right menu items are unstackable (except the first item).
Any plans to fix it? @jlukic

+1: Only the first item on the right menu appears stacked along with the left menu items

+1 This need to be fixed!

How can we fix this? It's still an issue as only the first item stacks. Others don't.
@jlukic

here's an illustration of the problem, and a (bad) fix to illustrate what is happening to the other items:

https://jsfiddle.net/arlyon/h5e877mm/1/ (just make sure you have the result set to mobile width)

Essentially the other items in .menu.right are still being placed horizontally. The parent menu correctly stacks as it should, but .menu.right.stackable doesn't stack the items in menu right to match its parent.

This solved it for me:

<div class="ui stackable menu">
    <a class="item">My first left item</div> 
    <a class="item">My second left item</a>
    <a class="right item">My first right item</a> 
    <a class="item">My second right item</a> 
</div>

There may be a missing border on the right side, but currently this seems to be the best solution.

It's right, the solution from @wtfuii has worked perfectly for me. But you have to deal with the margin-left of the .items

Hello,
Problem alway present at this date ;)

I think the following addition would be sufficient to fix this issue, it does require some testing though.

in menu.less:

@media only screen and (max-width: @largestMobileScreen) {

  ...

  .ui.stackable.menu .right.menu,
  .ui.stackable.menu .left.menu {
    flex-direction: column;
  }
}

If someone else would like to create a pull request go ahead and do it since I won't have enough time at the moment to do it.

I've fixed this in 2.2.11

I have add code like this

@media only screen and (max-width: 767px) {
  .ui.stackable.menu .right.menu {
    flex-direction: column;
  }
}

but if I add .pusher to body,to stick the footer(https://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/)
the blow stackable elements will cover the menu
2017-06-22 9 13 56

Was this page helpful?
0 / 5 - 0 ratings

Related issues

playgithub picture playgithub  路  3Comments

deneuxa picture deneuxa  路  3Comments

rdzidziguri picture rdzidziguri  路  3Comments

davialexandre picture davialexandre  路  3Comments

arj-196 picture arj-196  路  3Comments