JSFiddle - React, Tailwind, and code Playground
by majesticcX
HTML
<body>
<nav id="nav" role="navigation">
<a href="#nav" title="Show navigation">Show navigation</a>
<a href="#" title="Hide navigation">Hide navigation</a>
<ul>
<li class="active"><a href="index.html">Startseite</a></li>
<li>
<a href="/" aria-haspopup="true"><span>Seite 1</span></a>
<ul>
<li><a href="/">Seite 1.1</a></li>
<li><a href="/">Seite 1.2</a></li>
</ul>
</li>
<li><a href="index.html">Seite 2</a></li>
<li><a href="index.html">Seite 3</a></li>
<li>
<a href="/" aria-haspopup="true"><span>Seite 4</span></a>
<ul>
<li><a href="/">Seite 4.1</a></li>
<li><a href="/">Seite 4.2</a></li>
<li><a href="/">Seite 4.3</a></li>
</ul>
</li>
<li><a href="index.html">Seit 5</a></li>
<li>
<a href="/" aria-haspopup="true"><span>Seite 6</span></a>
<ul>
<li><a href="/">Seite 6.1</a></li>
<li><a href="/">Seite 6.2</a></li>
</ul>
</li>
<li><a href="/">Seite 7</a></li>
</ul>
</nav>
</body>
CSS
body {
width: 100vw;
height: auto;
overflow-x: hidden;
}
#nav
{
width: 1500px;
height: 50px;
margin: auto;
background-color: #EDEDED;
}
#nav > a
{
display: none;
}
#nav li
{
position: relative;
width: 187.5px;
}
#nav ul {
text-decoration: none;
}
#nav li a {
color: black;
display: block;
}
#nav li a:active {
background-color: #c00 !important;
}
#nav span:after{
width: 0;
height: 0;
border: 0.313em solid transparent; /* 5 */
border-bottom: none;
border-top-color: black;
content: '';
vertical-align: middle;
display: inline-block;
position: relative;
right: -0.313em; /* 5 */
}
/* first level */
#nav > ul {
height: 50px;
background-color: #EDEDED;;
}
#nav > ul > li {
width: 187.5px;
height: 50px;
float: left;
list-style: none;
}
#nav > ul > li > a {
height: 50px;
font-size: 0.9vw; /* 24 */
line-height: 2.5vw; /* 60 (24) */
text-align: center;
text-decoration: none;
}
#nav > ul > li:not( :last-child ) > a {
border-right: 0px solid black;
}
#nav > ul > li:hover > a,
#nav > ul:not( :hover ) > li.active > a {
background-color: lightcoral;
}
/* second level */
#nav li ul {
display: none;
position: absolute;
top: 100%;
background-color: #EDEDED;
list-style: none;
}
#nav li:hover ul {
display: block;
left: 0;
right: 0;
}
#nav li:not( :first-child ):hover ul {
left: 0;
}
#nav li ul a {
font-size: 0.9vw;
border-top: 0.05vw solid lightcoral;
height: auto;
line-height: 2.5vw;
text-align: center;
text-decoration: none;
}
#nav li ul li a:hover,
#nav li ul:not( :hover ) li.active a {
background-color: lightcoral;
}
/******************************************* 1500 *******************************************/
@media only screen and (max-width: 1500px) {
#nav {
width: 90vw;
height: 3.2vw;
}
...