I’m not sure where to begin either. I was going to do this (have a div class for desktop, tablet, and mobile) and then do a media query to “display: none” the div’s I don’t want. Here’s an example of the code I wrote:
<div class="header">
<nav class="desktop">
<a href="index.html" class="logo">Fotomatic</a>
<ul>
<li><a href="#">Product detail</a></li>
<li><a href="#">About us</a></li>
<li><a href="https://www.instagram.com/">Follow us</a></li>
<li><a href="https://www.instagram.com/"><img class="icon" src="./resources/images/instagram.png"></a></li>
</ul>
</nav>
<nav class="tablet">
<a href="index.html" class="logo">Fotomatic</a>
<ul>
<li><a href="#">Product detail</a></li>
<li><a href="#">About us</a></li>
<li><a href="https://www.instagram.com/">Follow us</a></li>
<li><a href="https://www.instagram.com/"><img class="icon" src="./resources/images/instagram.png"></a></li>
<li><a href="#" class="button">Join us</a></li>
</ul>
</nav>
<nav class="mobile">
<ul>
<li><a href="#"><img src="./resources/images/ic-logo.svg"></a></li>
<li><a href="#"><img src="./resources/images/ic-product-detail.svg"></a></li>
<li><a href="#"><img src="./resources/images/ic-about-us.svg"></a></li>
<li><a href="#" class="button">Join us</a></li>
</ul>
</nav>
</div>
/* Responsive design */
/* for mobile */
@media only screen and (max-width: 425px) {
nav.desktop {
display: none;
}
nav.tablet {
display: none;
}
}
/* for tablet */
@media only screen and (min-width: 426px) and (max-width: 767px) {
nav.desktop {
display: none;
}
nav.mobile {
display: none;
}
}
/* for desktop */
@media only screen and (min-width: 768px) {
nav.tablet {
display: none;
}
nav.mobile {
display: none;
}
}
There must be a more elegant way to go about this, but I’m not sure what it is? Any help would be much appreciated.