Cara Membuat Tampilan Navigasi Menu Website Responsive
body {margin:0;}
/ * Menghapus margin dan padding dari daftar , dan menambahkan warna latar
belakang hijau * /
ul.menuatas {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #137409;
}
/*Maksudnya membuat menu berada diatas berdampingan*/
ul.menuatas li {float: left;}
/*Membuat Style link untuk bagian menu */
ul.menuatas li a {
display: inline-block;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
transition: 0.3s;
font-size: 17px;
}
/*Membuat Style link untuk bagian background saat hover */
ul.menuatas li a:hover {background-color: #ff0000;}
/*menyembunyikan link dalam daftar pada saat laya kecil*/
ul.menuatas li.icon {display: none;}
2. Selanjutnya kita buat Style CSS pada saat browser/layar mengecil.
/ * Bila Ukuran layar kurang dari 680 pixel , maka sembunyikan menu , kecuali untuk yang Home . kemudian menampilkan menu untuk membuka dan menutup class menuatas( li.icon ) * /
@media screen and (max-width:680px) {
ul.menuatas li:not(:first-child) {display: none;}
ul.menuatas li.icon {
float: right;
display: inline-block;
}
}
/ * class responsive ditambahkan ke "menuatas" dengan JavaScript sehingga
ketika pengguna klik icon . class
ini akan membuat menu atas terlihat baik pada layar kecil * /
@media screen and (max-width:680px) {
ul.menuatas.responsive {position: relative;}
ul.menuatas.responsive li.icon {
position: absolute;
right: 0;
top: 0;
}
ul.menuatas.responsive li {
float: none;
display: inline;
}
ul.menuatas.responsive li a {
display: block;
text-align: left;
}
}
3. Tahap selanjutnya kita buat fungsi Javascript untuk menghapus class responsive untuk menu atas pada saat pengguna mengklik icon
<script>
function myFunction() {
var x = document.getElementById("myTopnav");
if (x.className === "menuatas") {
x.className += " responsive";
} else {
x.className = "menuatas";
}
}
</script>
4. Terakhir kita buat menunya lalu panggil fungsi javascript yang kita buat sebelumnya
ul class="menuatas" id="myTopnav">
<li><a class="active" href="#home">Home</a></li>
<li><a href="#news">Informasi</a></li>
<li><a href="#contact">Kontak</a></li>
<li><a href="#about">Tentang Saya</a></li>
<li class="icon">
<a href="javascript:void(0);" style="font-size:15px;" onclick="myFunction
()">☰</a>
</li>
</ul>
<div style="padding-left:16px">
<h2>Contoh Menu Responsive</h2>
<p>Perkecil jendela browser untuk melihat hasilnya</p>
</div>
Secara keseluruhan bila keempat script diatas digabung maka scriptnya nanti akan terlihat seperti dibawah ini
<!DOCTYPE html>
<html>
<head>
<style>
body {margin:0;}
ul.menuatas {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #137409;
}
ul.menuatas li {float: left;}
ul.menuatas li a {
display: inline-block;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
transition: 0.3s;
font-size: 17px;
}
ul.menuatas li a:hover {background-color: #ff0000;}
ul.menuatas li.icon {display: none;}
@media screen and (max-width:680px) {
ul.menuatas li:not(:first-child) {display: none;}
ul.menuatas li.icon {
float: right;
display: inline-block;
}
}
@media screen and (max-width:680px) {
ul.menuatas.responsive {position: relative;}
ul.menuatas.responsive li.icon {
position: absolute;
right: 0;
top: 0;
}
ul.menuatas.responsive li {
float: none;
display: inline;
}
ul.menuatas.responsive li a {
display: block;
text-align: left;
}
}
</style>
</head>
<body>
<ul class="menuatas" id="myTopnav">
<li><a class="active" href="#home">Home</a></li>
<li><a href="#news">Informasi</a></li>
<li><a href="#contact">Kontak</a></li>
<li><a href="#about">Tentang Saya</a></li>
<li class="icon">
<a href="javascript:void(0);" style="font-size:15px;" onclick="myFunction
()">☰</a>
</li>
</ul>
<div style="padding-left:16px">
<h2>Contoh Menu Responsive</h2>
<p>Perkecil jendela browser untuk melihat hasilnya</p>
</div>
<script>
function myFunction() {
var x = document.getElementById("myTopnav");
if (x.className === "menuatas") {
x.className += " responsive";
} else {
x.className = "menuatas";
}
}
</script>
</body>
</html>
Bila script diatas di eksekusi di browser maka kurang lebih tampilannya akan terlihat seperti gambar dibawah ini.
Tampilan layar penuh | Tampilan layar Responsive |
|
|
Untuk lebih jelasnya Anda bisa mengcopy script yang sudah digabungkan diatas, kemudian menyimpan filenya dalam bentuk/format HTML
wah keren nih mas zaelaini mulai posting kode2an,jadi saya bisa dikit2 belajar disini.
ReplyDeleteorangnya juga keren kan ???
Deletesetelah udah bisa membuat menu navigasi dasar ini,kita tinggal mengembangkan ide sesuai dengan keinginan ya mas
ReplyDeleteJika layar penuh
ReplyDeleteTerasa nampak utuh
Kelihatan yang kita mau butuh
Ibarat rumah terasa teduh...
super sekali mba,, beitulah kira - kira..
Delete