hisman.org newsletter

Dapatkan tips-tips menarik tentang web design langsung ke e-mail Anda (Gratis...)

Membuat horizontal menu dengan CSS

posted by hisman in October 15th, 2008

category : CSS, HTML, trik

Tags: , , ,

Horizontal menu tau khan?? Contohnya klo di blog ini tuh menu yang ada di pojok kanan atas. Jadi kita akan coba buat menu kayak gitu dengan CSS (tapi sederhana dulu ya).

Sebenernya sich cara untuk ngebuat menu kayak gitu gak pake CSS juga bisa, contohnya aja kamu bisa pake flash, trus bisa juga pake HTML aja. Tapi yang lebih banyak di pakai untuk saat ini ya yang pake CSS, karena katanya sich lebih search engine friendly.

Seperti biasa kita buat file HTMLnya dulu. Isinya kayak gini :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Horizontal Menu</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="nav">
  <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Contact</a></li>
    <li><a href="#">FAQ</a></li>
    <li><a href="#">Product</a></li>
  </ul>
</div>
</body>
</html>

Kalau diperhatikan, ada tag <ul> sama <li> ya? Tag-tag itu gunanya untuk ngebuat list (klo di Microsoft word itu namanya bullet).

Ngapa kita pake list untuk ngebuat menunya?

Karena agar menu yang kita buat itu lebih search engine friendly. (katanya sich google lebih menyukai situs dengan menu yang seperti itu).

Klo pake list itu khan jelek ya hasilnya (trus ke bawah lagi bukan horizontal). Nah kita pake CSS untuk ngebuat menu itu ke samping (horizontal).

Ini CSSnya :


#nav ul{
    display:block;
    margin: 0px;
    padding: 0px;
}
#nav li{
   float:left;
   list-style-type:none;
   padding:3px 5px 3px 5px;
   margin:1px;
   border:#CCCCCC 1px solid;
}
#nav li a{
   text-decoration:none;
}
#nav li:hover{
   background:#00FFFF;
}

Saya jelasin satu-satu ya?

Yang pertama, coba kamu liat di selector #nav ul, di situ ada property display yang valuenya block. Gunanya tuh untuk ngebuat tag <ul> yang tipenya itu adalah inline element ke block element (seperti div).

Update :

tag <ul> itu ternyata merupakan block element, jadi sebenarnya property display nya tidak perlu digunakan. Sorry, saya salah.. Maklum newbie. hehe…

Trus, di selector #nav li ada property float yang gunanya untuk ngebuat menu yang tadinya vertikal menjadi horizontal. Di situ juga ada property list-style-type yang valuenya none gunanya untuk menghilangkan bullet yang ada. Trus ada border buat ngasih bordernya ada margin dan padding juga.

Untuk yang #nav li a, di situ ada property text-decoration valuenya none. Gunanya untuk menghilangkan garis bawah pada linknya (khan secara default tag <a>membuat tulisannya berwarna biru dan bergaris bawah).

Yang terakhir itu selektornya ditambahin :hover, gunanya buat apa?

Jadi gini, selektor yang terakhir khan begini #nav li:hover, nah ketika #nav li nya di sorot sama mouse backgroundnya berubah menjadi biru. (seperti animasi lah)… coba kamu liat yang udah jadinya di sini. Dan juga klo mo download file jadinya di sini.

Update :

#nav li:hover tidak terbaca di IE6, klo tidak salah. Soalnya hover di IE6 cuman untuk tag <a></a> jadi #nav li:hover nya bisa diganti dengan #nav a:hover

Gimana? Setelah di desain pake CSS agak bagus dikit khan tampilannya, walaupun masih standarlah, kamu bisa ngembangin sendiri, misalnya dengan menambahkan gambar sebagai background pada listnya.

13 Responses to “Membuat horizontal menu dengan CSS”

Comments RSS Feed

  • loeky

    mas gmana masangnya kalau css di campur ma html gk bisa ya??? pa kode html hasilnya tidak bisa terbentuk horizontal tolong bantu saya membuat menu

  • hisman

    @loeky

    maksudnya css dan htmlnya ada dalam satu file ya??

    bisa kok,coba mas baca deh artikel saya ini

  • ivy

    saya nemu site ini dari google.
    saya newbie banget, cuma selama ini bisanya utak-atik blogger aja..

    saya tertarik untuk bikin web sendiri.
    kira2 mulai dari mana ya.
    apa harus blajar CSS?
    kl iya site apa yang punya tutorial bagus (inggris ga masalah, gue sehari2 pake inggris kok).

    thanks for the info

  • hisman

    @ivy
    klo untuk awalan sih,kamu coba belajar html dan css dulu,karena dua itu dasarnya,klo situs coba ke http://www.htmldog.com, lumayan buat pemula.

    Klo dah menguasai html dan css,baru deh belajar yang lainnya seperti php, javascript, dll.. referensi laen coba ke http://www.w3schools.com/

  • Ira Naf

    bisa nggak kita membuat (background) warna gradient dengan css. saya liat warna yang bisa dibuat pada tutorial diatas hanya warna2 solid yang kesannya tidak terlalu stylish. kalo pake warna gradasi kan kelihatan kaya’ tiga dimensi gitu…..Bisa nggak ya….? Soalnya mau hindari pake image yang bikin loading lama….mohon penjelasannya bos, kalo bisa sekalian tutorialnya juga

  • rio adi

    mas gmana caranya buat link, contohnya kali yang ada di sebuah artikel yang panjang terus di bawahnya ditulis selengkapnya, itu gimana caranya mas, tolong kasih atu donk mas, trimz ya

  • Ira Naf

    Adminnya kemana neh….
    Aq mo nanya lagi: (jangan bosan2 ya)
    web page yang aq buat, kalo di preview di smua browser kelihatannya ok aja, tapi kalo udah di upload ke hosting dan di buka pake IE, halamannya ke kiri (bukan di tengah-tengah browser), kalo pake mozilla halamannya ke tengah tapi sepertinya file cssnya tidak diload, dan kalo pake Opera semua ok hanya tidak bisa load javascriptnya
    ” KOQ BISA YA ” Apa ada kesalahan ……Mohon pencerahan…
    Aq pake Web Builder 2008

  • Ira Naf

    Apa fungsinya tag <meta… : seperti di bawah ini?:

  • Ira Naf

    Koq gak kelihatan……

  • hisman

    @Ira Naf
    Sorry gak dibales2 komennya…kemaren2 disibukkan dengan urusan2 kuliah… jadi gak pernah buka2 blog ini lagi…hehe

    Setahu saya klo gradien background itu harus pake gambar klo di CSS 2, tapi klo di CSS 3 (versi CSS yang baru) bisa tanpa gambar. Cuman untuk saat ini browser yang mendukung CSS 3 baru sedikit….

    Bisa minta file webpage yg kamu buat gak.. siapa tau bisa bantu nyari kesalahannya di mana..

    tag metanya gak keliatan,,kyknya kena filter sama form komennya deh..hihi.. Utk meta tag sendiri gunanya macem2 coba kamu ke sini dan ke sini deh

    @rio adi
    Klo untuk buat link,,pake tag ini :
    <a href=”http://alamatsitus”>nama link</a>

    klo utk buat read more (selengkapnya)di blogger coba deh ke sini…

  • Encu Suharso

    Mas aku baru nih di dunia HTML dan PHP terimakasih atas Tutoriannya

  • electric_bit

    untuk style #nav li:hover tidak compatible dengan internet explorer…
    ada solusi?

  • hisman

    O iya, di IE 6 yang bisa di hover cuman tag <a></a> jadinya #nav li:hover nya diganti #nav a:hover

Leave a Reply

Allowed tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

[+] kaskus emoticons nartzco
copyright © 2010 hisman.org | web design and icon by hisman