Nav li auto adjust width if more than one

Something Like that:
Nav li auto adjust width if more than one

For that you need to create first html code.

HTML

<h3>1 nav</h3>
<div class="nav">
  <ul>
    <li><a href="#">Home</a></li>
  </ul>
</div>
<h3>2 nav</h3>
<div class="nav">
  <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
  </ul>
</div>
<h3>3 nav</h3>
<div class="nav">
  <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Contact</a></li>
  </ul>
</div>
<h3>4 nav</h3>
<div class="nav">
  <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Contact</a></li>
  </ul>
</div>
<h3>5 nav</h3>
<div class="nav">
  <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Contact</a></li>
  </ul>
</div>
<h3>6 nav</h3>
<div class="nav">
  <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Contact</a></li>
  </ul>
</div>
<h3>7 nav</h3>
<div class="nav">
  <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Contact</a></li>
  </ul>
</div>
<h3>8 nav</h3>
<div class="nav">
  <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Contact</a></li>
  </ul>
</div>
<h3>9 nav</h3>
<div class="nav">
  <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Contact</a></li>
  </ul>
</div>
<h3>10 nav</h3>
<div class="nav">
  <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Page</a></li>
    <li><a href="#">Contact</a></li>
  </ul>
</div>

After that add this CSS code.

CSS

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
h3 {
  text-align: center;
}
.nav {
  width: 100%;
  float: left;
  text-align: center;
  background: #ccc;
  margin-bottom: 20px;
}
.nav ul {
  list-style: none;
}
.nav ul li {
  float: left;
  padding: 5px;
}
.nav ul li a {
  display: block;
  padding: 5px 10px;
  color: #000;
  text-decoration: none;
  background: #f5f5f5;
}
.nav ul li:not(:last-child) {
  padding-right: 10px;
}
.nav ul li:nth-last-child(1),
.nav ul li:nth-last-child(1) ~ li {
  width: 100%;
}
.nav ul li:nth-last-child(2),
.nav ul li:nth-last-child(2) ~ li {
  width: 50%;
}
.nav ul li:nth-last-child(3),
.nav ul li:nth-last-child(3) ~ li {
  width: 33.333%;
}
.nav ul li:nth-last-child(4),
.nav ul li:nth-last-child(4) ~ li {
  width: 25%;
}
.nav ul li:nth-last-child(5),
.nav ul li:nth-last-child(5) ~ li {
  width: 20%;
}
.nav ul li:nth-last-child(6),
.nav ul li:nth-last-child(6) ~ li {
  width: 16.666%;
}
.nav ul li:nth-last-child(7),
.nav ul li:nth-last-child(7) ~ li {
  width: 14.285%;
}
.nav ul li:nth-last-child(8),
.nav ul li:nth-last-child(8) ~ li {
  width: 12.5%;
}
.nav ul li:nth-last-child(9),
.nav ul li:nth-last-child(9) ~ li {
  width: 11.111%;
}
.nav ul li:nth-last-child(10),
.nav ul li:nth-last-child(10) ~ li {
  width: 10%;
}

[codepen_embed height=”265″ theme_id=”0″ slug_hash=”wrpKVv” default_tab=”html,result” user=”pradeepanvi”]See the Pen Nav li auto adjust width if more than one by Pradeep Kumar (@pradeepanvi) on CodePen.[/codepen_embed]

Leave a Reply

Your email address will not be published. Required fields are marked *