Skip to content
New issue

Add multiline feature for tabs #1344

Open
jabyess opened this issue on Oct 19, 2017 · 9 comments

Comments

@jabyess
Copy link

@jabyess jabyess commented on Oct 19, 2017

This is about Bulma.

Feature

Overview of the problem

This is about the Bulma CSS framework

I'm using Bulma version 0.6.0

My browser is: Chrome 61

Fairly sure this issue is not a duplicate

Description

I'd love to have some way to stack tabs vertically on mobile devices. Right now it overflows and scrolls horizontally, but ideally we would have a flag to set on the tabs parent container that stacks vertically.

What I did in the meantime is set .tabs ul to flex-direction: column and that works well enough, but it's not pretty and doesn't respect the fullwidth feature.

Not sure what the best way is to handle this.

Thanks!

@mav1283
Copy link

@mav1283 mav1283 commented on May 29, 2018

@jabyess How do you add the content to the tab? the documentation only had the tab links:

<div class="tabs">
  <ul>
    <li class="is-active"><a>Pictures</a></li>
    <li><a>Music</a></li>
    <li><a>Videos</a></li>
    <li><a>Documents</a></li>
  </ul>
</div>

Where to put the content?
@jabyess
Copy link
Author

@jabyess jabyess commented on May 29, 2018

@mav1283 you can put them wherever you want. Bulma doesn't care, since it's just css/sass, there's no functionality included.

I just created a container with multiple content elements below the tabs. the elements each have an ID, and the tabs have a data attribute pointing to the appropriate ID. Very similar to how bootstrap does it.

@stephendolan
Copy link

@stephendolan stephendolan commented on May 31, 2018

If anyone stumbles across this issue looking for a responsive solution:

@include mobile {
  .tabs ul {
    flex-direction: column;

    li {
      width: 100%;
    }
  }
}
@tevart
Copy link

@tevart tevart commented on Aug 24, 2018

Any way to have two tabs in row?

edit: Found solution

.tabs ul {width:100%;flex-direction:row;flex-wrap:wrap;}
.tabs li {width:50%}
@jgthms jgthms added the pinned label on Jan 21, 2019
@srinathreddydudi
Copy link

@srinathreddydudi srinathreddydudi commented on Feb 7, 2019

If any one stumbled across this issue looking for vertical tabs:

<div class="tabs">
  <ul>
    <li>Tab 1</li>
    <li>Tab 2</li>
    <li>Tab 3</li>
  </ul>
</div>
<div class="tabs-content">
    <div>Tab 1 content</div>
    <div>Tab 2 content</div>
    <div>Tab 3 content</div>
</div>

.tabs{
    float: left;
}
.tabs ul{
    -webkit-flex-direction: column;
    flex-direction: column;
}

This will display tabs on the left side and the tab content on the right. Not an optimal solution but works for some one who have too many tabs.

@GopherJ
Copy link

@GopherJ GopherJ commented on Jun 22, 2019

I'm surprised that this hasn't been implemented in 2019~

@IlyaSemenov
Copy link

@IlyaSemenov IlyaSemenov commented on Aug 8, 2019

Multiline tabs:

.tabs ul {
	flex-shrink: 1;
	flex-wrap: wrap;
	border-bottom-color: transparent;
}

The border-bottom-color rule removes the long hanging line on the last row of tabs.

@moladukes
Copy link

@moladukes moladukes commented on Feb 7

Anyone coming across this. The above solutions don't really address the border radius.

@media screen and (max-width: 768px)  {
      .tabs.is-toggle ul {
        flex-direction: column;
        li {
          width: 100%;
          &:not(:last-child) a {
            border-bottom-color: transparent;
          }
          &:first-child a {
            border-radius: 4px 4px 0 0;
          }
          &:last-child a {
            border-radius: 0 0 4px 4px;
          }
        }
      }
    }
@ownchoice
Copy link

@ownchoice ownchoice commented 7 minutes ago

Multiline tabs:

.tabs ul {
	flex-shrink: 1;
	flex-wrap: wrap;
	border-bottom-color: transparent;
}

The border-bottom-color rule removes the long hanging line on the last row of tabs.

Simple and effective, thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
10 participants
You can’t perform that action at this time.