Dropdown adalah jenis navigasi menu utama, dimana jika salah satu linknya dihover / diklik maka akan muncul menu dropdown (list kebawah).
Contoh:
Hello World!
Tahu kan apa yang akan kita buat sekarang?
Basic dropdown
Contoh diatas adalah basic dropdown, belum diimplementasikan dalam sebuah menu navigasi.
Kode dari contoh diatas adalah berikut:
<style> .contoh-dropdown { position: relative; display: inline-block; } .contoh-dropdown span { background:#333232; color:white; padding:10px } .isi-dropdown { display: none; position: absolute; background-color: #5340ff; margin-top:5px; min-width: 150px; padding: 5px 5px; z-index: 1; color:white } .contoh-dropdown:hover .isi-dropdown { display: block; } </style> <div class="contoh-dropdown"> <span>Arahkan Mouse Kesini</span> <div class="isi-dropdown"> <p>Hello World!</p> </div> </div>
Penjabaran:
HTML:
Disini saya buat box terluar dulu, sebagai area untuk membuat dropdown yaitu <div class="contoh-dropdown">
.
Logika dropdown ini adalah, ada konten yang dihidden atau sembunyikan. Kemudian ketika menu atau area yang ditentukan dihover maka konten yang disembunyikan akan ditampilkan.
Disini konten yang dihide adalah konten di dalam <div class="isi-dropdown"> </div>
yaitu <p>Hello World!</p>
.
<span>
adalah area yang saya tentukan, ketika dihover maka isi-dropdown
akan muncul.
CSS:
Secara default, class .isi-dropdown
saya beri display:none;
. Artinya, secara default .isi-dropdown
tidak tampil.
Namun, ketika span
dihover maka akan tampil. Saya mengaturnya di kode .contoh-dropdown:hover .isi-dropdown
dengan set display:block
.
Artinya adalah ketika .contoh-dropdown
di hover, maka .isi-dropdown
display
diganti block
.
Supaya lebih paham, kamu harus menguasai css combinator.
Dropdown Nav
Ok, lanjut.
Kita akan implementasi untuk membuat navigasi dropdown.
Kode yang saya gunakan:
<style> .clear { clear: both; } .navigasi { list-style: none; padding: 0; margin: 0; background: rgb(58,58,58); /* box-shadow: 0px -2px 3px -1px rgba(0, 0, 0, 1); */ } .navigasi li { float: left; } .navigasi li:hover { background: #5340ff; } .navigasi li:first-child { -webkit-border-radius: 5px 5px 0 0; border-radius: 5px 0 0 5px; } .navigasi li a { display: block; padding: 0 20px; text-decoration: none; line-height: 40px; color: #fff; } .navigasi ul { display: none; position: absolute; list-style: none; margin-left: -3px; padding: 0; overflow: hidden; } .navigasi ul li { float: none; } .navigasi li:hover > ul { display: block; background: #222; border: solid 3px #fff; border-top: 0; } .navigasi li:hover > ul li:hover { -webkit-border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px; } .navigasi li li a:hover { background: #5340ff; } .navigasi ul li:last-child a, .navigasi ul li:last-child a:hover { -webkit-border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px; } </style> <ul class="navigasi"> <li><a href="" title="Home">Home</a></li> <li><a href="" title="About">About</a></li> <li><a href="" title="Portfolio">Dropdown</a> <ul> <li><a href="" title="Menu 1">Ini Menu 1</a></li> <li><a href="" title="Menu 2">Menu 2</a></li> <li><a href="" title="Menu 3">Menu 3</a></li> </ul> </li> <li><a href="" title="Contact">Contact</a></li> <div class="clear"></div> </ul>