Tulisan kali ini akan membahas tentang positioning di css, kita akan membuat studi kasus
menu yang posisinya tetap biasa disebut menu melayang, atau flying menu atau
fixed position menu.
Menu tidak akan bergerak walaupun kita malakukan scroll sampai bawah.
Gaya seperti ini memang sedang marak diterapkan oleh banyak web designer saat ini, website sosial media pun banyak yang menerapkan menu yang posisinya tetap seperti itu, sebagai contoh Twitter, Facebook, Pinterest pun menerapkannnya.
Oke kita mulai saja membuat.
Pertama siapkan file index.html
sisipkan 2 buah font dari google web font di bagian head dan /head pada file html tersebut.
<link href='http://fonts.googleapis.com/css?family=Concert+One' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro' rel='stylesheet' type='text/css'>
Lalu buat struktur HTML sebagai berikut
<div class="fly">
<div class="content">
<ul>
<li><a class="active" href="#">Home</a></li>
<li><a href="#">About us</a></li>
<li><a href="#">Portfolio</a></li>
<li><a href="#">Gallery</a></li>
<li><a href="#">Article</a></li>
<li><a href="#">Store</a></li>
<li><a href="#">Contact</a></li>
</ul>
<div class="ribbon">
Follow Twitter
<h2><a href="http://www.twitter.com/tut_web">@tut_web</a></h2>
</div>
</div>
</div>
<div class="flying-robot"><img src="fly.png" alt=""></div>
<div class="main">
<div class="content">
<h1>DEMO | Flying Menu CSS</h1>
<p><strong><a href="http://www.tutorial-webdesign.com">http:www.tutorial-webdesign.com</a></strong></p>
<p>...</p>
<p>...</p>
</div>
</div>
<div class="footer">
<div class="content">
<p>
Copyright © 2012 <a href="http://www.tutorial-webdesign.com">Tutorial-Webdesign.com</a> | Image Credit <a href="http://fantendo.wikia.com/wiki/File:Fly_Guy_Card.png">Fantendo</a>
</p>
</div>
</div>
dengan struktur HTML itu kita membuat 4 bagian penting
class .fly
untuk membuat menu atas
class .flying-robot
untuk membuat objek robot terbang
class .main
untuk tempat tulisan atau konten website
class .footer
untuk membuat bagian bawah web
Style CSS
Untuk mempercantik bagian-bagian tersebut kita buat CSS sebagai berikut.
Style untuk menu atas, class .fly
.fly{
background-color: #1484CE;
background-image: -webkit-linear-gradient(center top , #1484CE 0%, #1274B5 100%);
background-image: -moz-linear-gradient(center top , #1484CE 0%, #1274B5 100%);
background-image: -o-linear-gradient(center top , #1484CE 0%, #1274B5 100%);
background-image: -ms-linear-gradient(center top , #1484CE 0%, #1274B5 100%);
background-image: linear-gradient(center top , #1484CE 0%, #1274B5 100%);
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
-webkit-box-shadow: 0 2px 0 #0E5A8C;
box-shadow: 0 2px 0 #0E5A8C;
font-size: 13px;
height: 30px;
left: 0;
position: fixed;
right: 0;
top: 0;
width: 100%;
}
.fly .content ul{
list-style-type: none;
float: left;
}
.fly .content ul li{
display: inline;
}
.fly .content ul li a{
display: inline-block;
text-decoration: none;
padding: 7px 10px;
border-right: 1px solid rgba(255, 255, 255, 0.125);
color: #f8f8f8;
font-weight: bold;
}
.fly .content ul li a:hover, .fly .content ul li a.active{
background: -webkit-linear-gradient(top, #2b90d2, #1382cb);
background: -moz-linear-gradient(top, #2b90d2, #1382cb);
background: -o-linear-gradient(top, #2b90d2, #1382cb);
background: -ms-linear-gradient(top, #2b90d2, #1382cb);
background: linear-gradient(top, #2b90d2, #1382cb);
}
.fly .content .ribbon{
text-align: center;
float: right;
width: 100px;
background: #fff000;
padding: 2px 10px;
-webkit-box-shadow: 0 8px 6px -6px #999;
-moz-box-shadow: 0 8px 6px -6px #999;
box-shadow: 0 8px 6px -6px #999;
}
.fly .content .ribbon:hover{
background: orange;
}
.content{
max-width: 940px;
margin: 0 auto;
}
style untuk robot terbang class .flying-robots
.flying-robot{
position:fixed; top:50px; left:10px;padding:10px;
height: 150px;
width: 150px;
}
style untuk halaman utama berisi teks class .main
.main{
margin-top:50px;
margin-bottom: 50px
}
.main .content p{
margin-bottom: 30px;
}
style untuk footer, class .footer
.footer{
padding: 10px 0;
background: -webkit-linear-gradient(left, #ccc, #999);
background: -moz-linear-gradient(left, #ccc, #999);
background: -o-linear-gradient(left, #ccc, #999);
background: -ms-linear-gradient(left, #ccc, #999);
background: linear-gradient(left, #ccc, #999);
bottom: 0;
position: fixed;
width: 100%;
font-size: 12px;
}
.footer a{
text-decoration: none;
font-weight: bold;
color: #000;
}
Pada intinya untuk membuat elemen yang posisinya tidak berubah itu yaitu dengan menyertakan position:fixed
di css
sedangkan untuk membuat posisinya suatu elemen merapat ke bawah atau keatas ditentukan dengan bottom:0
atau top:0
Responsive
Untuk membuat halaman tersebut menjadi responsive, atau bisa menyesuaikan ukuran layar device nya, maka tambahkan kode berikut
@media (max-width: 767px) {
.flying-robot{
position:relative;
text-align: center;
top:60px;
}
.fly{
text-align: center;
}
.fly .content ul li a{
border:none;
}
.content{
width: 99%;
}
.main .content h1,
.main .content p{
margin: 10px;
}
.footer{
text-align: center;
}
}
@media (max-width: 520px){
.fly{
height: 60px;
}
.fly .content .ribbon{
display: block;
width: 100%;
}
.main{
margin-top:80px;
margin-bottom: 80px
}
}
Berikut adalah hasil yang telah kita buat
Sekian tutorial kali ini, semoga membantu anda dalam belajar atau mengerjakan proyek anda.
Salam Web Design Indonesia
Komentar
Posting Komentar