Maria Rod
Maria Rod

Reputation: 23

How to change the direction of nav items from ltr to rtl?

I have the following code of bootstrap and need to change the direction of items in the nav to be right-to-left instead of left-to-right (to make item 1 the first from right) without using the bootstrap-rtl , I also try to use direction:rtl in the ul but didn't work.

as a conclusion I need this shape enter image description here any help please?

<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
    <div class="container">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="logo"><a href="#"><img src="img/logob.png" alt=""></a></div>
        <div class="navbar-header">
            <button type="button" class="navbar-toggle fl7" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>

        </div>
        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav">
                <li><a href="#">item 1</a></li>
                <li><a href="#">item 2</a></li>
                <li><a href="#">item 3</a></li>
                <li><a href="#">item 4</a></li>
                <li><a href="#">item 5</a></li>
            </ul>
        </div>
        <!-- /.navbar-collapse -->
    </div>
    <!-- /.container -->
</nav>

Upvotes: 1

Views: 4668

Answers (2)

Jordan Soltman
Jordan Soltman

Reputation: 3893

If you float your li elements to the right, they will be in reverse order. See snippet.

.nav.navbar-nav {
  list-style-type: none;
  display: inline-block;
  padding: 0;
  margin: 0;
}

.nav.navbar-nav li {
  float: right;
  margin-right: 10px;
}

@media (min-width: 768px) { 
  .nav.navbar-nav {
    color: red;
  }
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
  <div class="container">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="logo">
      <a href="#"><img src="img/logob.png" alt=""></a>
    </div>
    <div class="navbar-header">
      <button type="button" class="navbar-toggle fl7" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>

    </div>
    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li><a href="#">item 1</a></li>
        <li><a href="#">item 2</a></li>
        <li><a href="#">item 3</a></li>
        <li><a href="#">item 4</a></li>
        <li><a href="#">item 5</a></li>
      </ul>
    </div>
    <!-- /.navbar-collapse -->
  </div>
  <!-- /.container -->
</nav>

You can use media queries to have different behaviors for desktop/mobile. See this jsfiddle.

Upvotes: 6

Vanija Mandala
Vanija Mandala

Reputation: 19

try using float ul. css - ul{float:right}

Upvotes: -1

Related Questions