post image

Dropdown Menu với CSS

Hiện nay Dropdown menu là dạng menu rất phổ biến trên nhiều trang web đặc biệt là những trang web có cấu trúc phức tạp và cần nhiều Categories để hiển thị hết nội dung của trang. Do vậy Dropdown menu là dạng menu lý tưởng để giải quyết vấn đề này. Trước đây nếu muốn có được Dropdown menu bạn cần phải dùng Javascript và cũng hơi rắc rối mới có được menu như ý. Nhưng hiện nay với những trình duyệt tân tiến hơn bạn hoàn toàn có thể dùng CSS để tạo ra dropdown menu rất đơn giản. Tuy nhiên, như đã nói, cách này chỉ phù hợp với những trình duyệt mới, còn những trình duyệt cũ như IE 7 trở xuống sẽ không dùng được mà nếu muốn dùng bạn phải dùng Javascript để khắc phục.


Thời lượng: 15:46

Link Download file định dạng .mp4 chất lượng cao hơn: MegaUpload, Mediafire

Xem Demo: Dropdown menu với CSS

Hack IE 6: Để menu có thể hiển thị tốt trên IE 6 bạn cần download file whateverhover.htc và trong phần CSS bạn thêm

#container ul {
behavior: url(whateverhover.htc);
}
Get the Flash Player to see this content.

«

»

60 Comments

( Comment bài này )
  1. Nguyen Viet Hung says:

    cám ơn n, rất rõ ràng và dễ hiểu ^^ chắc m phải ghé thăm site của anh thường xuyên thôi ^^

  2. Rất vui được bạn ghé thăm và mong bạn sẽ lại thường xuyên hơn.

  3. sindon says:

    Anh có thể hướng dẫn thêm cách load database vào các dropdown menu dùng PHP và MySQL được không ạ. Cảm ơn anh rất nhiều.

  4. hoangnm says:

    giả sử em đặt background-color cho dropdown(Admin,Smod,Mod) làm thế nào để cho background-color nó hơi trong suốt nhỉ(mờ mờ vẫn nhìn thấy nền bên dưới)
    VD: http://itacad.vn/dao-tao/lich-khai-giang.html

    hihi em cũng mới học web

  5. NickB says:

    bạn có thể dùng thuộc tính opacity: 0.5; nhưng IE ko hổ trợ cái này :|

  6. nobita says:

    anh Demon Warlock cho em hỏi muốn edit file CSS ngay trên trình duyệt như trong video anh làm thì phải làm như thế nào.Em khong hiểu làm cách nào tạo ra được một ô soạn thảo CSS bên trái như anh làm.Thanks anh

  7. Cái đó là addon của trình duyệt FF tên là web developer toolbar. Em search trên google nhé. Hoặc em xem trên phần FAQs trên phần cùng tay phải của trang có hướng dẫn cụ thể.

  8. meohoang says:

    Cám ơn anh Demon Warlock nhiều vì những tài liệu rất hữu ích.Em rất thích bộ css và photoshop của anh.Từ nay izwebz.com sẽ là web yêu của em.

  9. hdu.edu says:

    có bao nhiêu cách tạo drop down menu.
    ngoài css , còn dùng công cụ nào khác mà tất cả các trình duyệt web có thể hiển thị ?

    ____________
    thank

  10. văn thế says:

    chào anh Demon Warlock em rất thích trang wed của anh , phải nói là anh rất cần cù . chăm chỉ tất cả vì mọi người .Đây là wed chia sẻ kiến thức rất hay free mà em được biết cho đến bay giờ , bài giảng bằng video rất trực quan , giải đáp thắc mắc theo yêu cấu và rất nhanh chóng . Không biết nói gì hơn ngoài chữ thật tuyệt vời ! Chúc http://www.izwebz.com ngày càng phát triển lớn mạnh !
    Nhưng bây giwof em thấy người ta hay dùng php để lập wed chứ việc dùng HTML không còn phổ biến nhiều nữa , hi vọng sắp tới anh sẽ cho ra những video nói về php !

  11. Web bằng PHP thì thực chất cũng chỉ là sử dụng một phần mềm CMS thôi. Bây giờ thiếu gì những phần mềm CMS miễn phí. Chỉ cần mấy phút là em đã có web bằng PHP rồi. Sắp tới anh sẽ có một series dài về WordPress.

    Nhưng cho dù là CMS nào đi chăng nữa thì output cuối cùng vẫn là HTML. Nếu em không biết về HTML thì làm sao có thể làm được trang web hoàn chỉnh được? Biết và hiểu về HTML và CSS là điều quan trọng nhất của người làm web.

  12. Duy Hòa says:

    Anh Demon Warlock cho em hỏi làm sao để cho hiệu ứng drop down với css chạy được trên IE 6,7 vậy ?
    Mong anh chỉ dùm em, em cảm ơn nhìu nhìu!

  13. Trong phần trên của bài anh có chỗ hack IE 6 kìa. Em xem kỹ lại nhé.

  14. huynho20 says:

    Bài viết của anh rất hay, cầu chúc cho trang web ngày một phát triển lớn mạnh. Hy vọng sẽ có nhìu bài viết hay để mọi người tham khảo.

  15. BlackCat says:

    Thanks so much !

  16. BlackCat says:

    À ! Anh cần có một bài Video về cách làm web chạy trên nhiều trình duyệt khác nhau , cách khắc phục việc giao diện web không phù hợp với các loại màn hình có độ phân giải khác nhau. Ví dụ trang izwebz.com của mình vẫn hơi bị “teo lại” khi mở trên các loại PC hay laptop có độ phân giải cao, font và hình trở nên nhỏ hơn và hơi khó nhìn đối với một số người. Thanks

  17. sailormoon says:

    Thanks bạn! Đơn giản nhưng rất hay !

  18. ninomaxx says:

    .menu{
    position: relative;
    padding: 0 0 0 34px;
    margin: 0 auto 0 auto;
    background: url(IMG/menug_bg.gif) repeat-x;
    height: 46px;
    list-style: none;
    }

    .menu li{
    float:left;
    }

    .menu li a{
    float: left;
    color:#000;
    text-decoration: none;
    font-family: sans-serif;
    font-size: 13px;
    font-weight: bold;
    padding:0 0 0 16px;
    height: 46px;
    line-height: 46px;
    text-align: center;
    cursor: pointer;
    }

    .menu li a b{
    float: left;
    display: block;
    padding: 0 24px 0 8px;
    }

    .menu li.chon a, .menu li a:hover{
    color: #fff;
    background: url(IMG/menug_hover_left.gif) no-repeat;
    background-position: left;
    }

    .menu li.chon a b, .menu li a:hover b{
    color: #fff;
    background: url(IMG/menug_hover_right.gif) no-repeat right top;
    }

    em tìm dc 1 đoạn code về cái menu,anh Demon có thể giải thích giúp em cái dòng
    “menu li.chon a b,,menu li a:hover b”. a với b ờ đây là cái gì vậy anh
    anh giải thích giùm em với

  19. Cái đó chỉ là Selector trong CSS thôi

    .menu có nghĩa là ul với class=’menu’ rồi li với class=’chon’ v.v..

    Em có thể đọc thêm về bài CSS Selector để biết thêm nhé

  20. ltkimphung says:

    thanks! ví dụ rất dễ hiểu, giọng truyền cảm. Mong bạn ngày càng “sản xuất” ra nhiều videos như thế này.

  21. hoanghung says:

    Chào bạn!
    Tôi là người mới bỡ ngỡ bước vào nghanhf IT.
    Tôi thấy trên trình duyệt firefox của bạn có thanhc ông cụ rất hay, co thể edit code, anh …trực tiếp(có thể thấy thay đổi ngaytreen trình duyệt). Bạn có thể cho tôi biết đó là phần mềm nào được không? tôi đã tìm kiếm nhưng không đựoc. Mong bạn chỉ giúp.
    Cảm ơn bạn về những gì đã share cho chúng tôi, chúc bạn luôn thành công!

  22. Bạn xem câu trả lời ở phần FAQs nhé. Lần sau nhớ lướt qua phần này trước khi đặt câu hỏi.

  23. xduongf says:

    A ới zi mình có thể làm menu động từ database được không ?

  24. Sao không được? miễn sao nó có cùng cấu trúc với dạng HTML ở trên thì làm được hết.

  25. daklak says:

    với menu dropdown thì làm sao để hiệu chỉnh cho menu con nằm ngang hả anh ! em đã thử float:left cho #container ul li ul và ul li ul li nhưng vẫn không được.
    Em mê web và đã tìm được kho sách sống này thật là tuyệt vừa cụ thể vừa dễ hiểu.

  26. Em tìm bài Fly Out menu với CSS nhé!

    • kendu says:

      anh ơi ! phai hiệu chỉnh CSS trong bài này như thế nào để menu giống như vnexpress.net hả anh ! em đã thử làm nhưng hầu như không có tác dụng .
      anh là thần tượng của em đóa !! hihihi

  27. Đó là sử dụng jQuery và nguyên tắc thì giống như bài Dropdown menu với jQuery và CSS nhưng chỉ khác là thay vì cho hiển thị theo chiều dọc thì cho nó display: inline thôi.

  28. xinbat007 says:

    mình phát hiện 1 điều kỳ lạ:
    cái này chạy đc trên IE 7 nếu:
    #container
    {
    background: #e4e4e3; /*bỏ đi dòng này:*/
    }
    #container ul
    {
    background: #e4e4e3; /*thêm dòng này:*/
    }

    thì chạy đc trên IE 7. Thật kì lạ ko hiểu tại sao nữa

  29. daklak says:

    với dropdown menu này mình đã làm thành công menu giống hệt website vnexpress.net mà không dùng tới jquery .ah nhân dịp này thank anh DW nhiều vì những kiến thức anh đã truyền đạt giúp em đạt điểm 9 trong môn thiết kế web(hơi cùi nhỉ …) anh DW mà ở việt nam chắc em tới bái sư tầm đạo quá….
    Mong izwebz sẽ phát triển và sẽ là kho kiến thức bổ ích cho mọi người

    • nhatnhat says:

      anh Daklak ui! có thể share cho em cái code dropmenu anh làm giống trang vnexpress đc ko ạ? em làm mãi mà ko đc? nếu đc thì anh gửi giúp em vào mail này nhé! nhatnhat1090@gmail.com Thanks anh nhiều!

  30. nguyen nguyen says:

    Rất cám ơn anh về website!
    Em mới tập làm web và thật may mắn khi biết được trang web của anh. Chúc anh luôn mạnh khỏe

  31. thanh ca says:

    cám ơn!.anh rất nhiều!.video của anh rất hay!

  32. hoc bui says:

    Chào a, bài này rất hay, nhưng e có thắc mắc là nếu làm menu 3 hay 4 cấp theo cách này có được ko? nếu được thì chỉnh css như thế nào?

  33. nhatnhat says:

    Anh ơi!cho em hỏi chút! Em làm như anh code rùi em save lại và chạy với trình duyệt IE 8 và chrome thì tất cả hiệu ứng bình thường.Nhưng khi em mở bằng FireFox 3.6 thì các hiệu ứng css mất hết ạ. Như vậy là lỗi do đâu ạ ? Mong các anh chỉ giúp với ạ!

    • nhatnhat says:

      Anh Demon Warlock ui! Em tạo 1 file css bằng dreamweaver rùi link đến file HTML anh ạ. Nhưng nó chỉ chạy trên IE và Chrome thôi khi em mở bằng firefox thì hiệu ứng css mất hết. Và khi em bật
      web developer toolbar để edit css thì hiệu ứng lại hiện ra,khi đóng toolbar thì lại mất.Như vậy la do trình duyệt hay do đâu hả anh? Mong anh chỉ giúp em!Thanks anh nhiều!

  34. phuc says:

    cho em hỏi cái behavior kia nó có chức năng j nhỉ ? k hiểu rõ lém mong a giải thích thêm cho em

  35. n0bita88 says:

    cho em hỏi là giữa cách dùng % và px thì mình lên dùng cái nào hay hơn chuyên nghiệp hơn ạ,em cũng mới bước vào thế giới web nên gà mờ,theo em nghĩ vầy, mình dùng % thì nó sẽ căn chỉnh tùy thuộc vào màn hình rộng hay hẹp,còn px thì nó căn chỉnh đúng khoảng cần dùng …em nghĩ như vậy không biết có phải không ạh,

  36. File video này không xem online được . !!!

  37. Đã sửa lại link! cảm ơn bạn đã thông báo. ;)

  38. ThienKhoi says:

    Trang web này nhiều bài hay quá. Vừa làm cho cái trang web thành 1 đống rác div, vào đây mới ngộ ra nhiều thứ, thx thx thx.luyện tiếp đây :D .

  39. Hữu Thỏa says:

    Sao em hack cho IE không được. nếu để tất cả các file trong một thư mục thì được mà em tách riêng ra thì nó lại không đươc. em có sửa lại đường dẫn rồi, vậy là sao anh

  40. sunflower^^ says:

    em sửa template free trên mạng, làm dropdown menu giống như anh chỉ, nhưng vẫn có 1 vài chỗ ko được, anh có thể xem lại code dùm em được ko? thanks anh vì bài viết….^^

  41. thanh lam says:

    Anh Demon Warlock ơi! Em đã làm cái menu đa cấp như anh chỉ rồi, và em cũng dowload file whateverhover.htc về và làm đúng như anh hướng dẫn. Nhưng trong trình duyệt IE6 thì chỉ hiển thị được cấp thứ hai à còn cấp thứ 3 thì nó không hiển thị. Anh có thể chỉ em cách khắc phục lỗi đó được không! thank anh nhiều!

  42. Huynh Minh Thien says:

    Hi anh Demon,

    anh viet tut rat hay và anh rất vui tính rất hích xem tut của anh.

    anh có thể cung cấp cho em tài liệu của các thuộc tính trong css va x(html) ko,

    nếu được em rất cám ơn anh.

  43. nhtera says:

    @Huynh Minh Thien
    w3schools là một lựa chọn tốt
    http://www.w3schools.com

  44. Em chào anh !

    Em mới bắt đầu tự amyf mò HTML và CSS. ghé qua trang của anh đọc các bài viết và hướng dẫn dễ hiểu quá…..

    Căm ơn anh nhìu nhà ! Anh và Web này sẽ là người Thầy đầu tiên của em !

    Chúc anh luôn mạnh khỏe !

  45. Nguyễn Anh Hiếu says:

    Em không biết bây giờ ai quản lý website này nữa, nhưng cho em hỏi về ít PHP nhé. Em đang làm menu đa cấp bằng PHP lấy ra từ Database nhưng không biết làm như thế nào. Sẵn Website của mình đang hướng dẫn học PHP, em mong các anh sẽ quay một Tutorials về cách làm HOÀN THIỆN một menu đa cấp bằng PHP. Vấn đề này cũng có rất nhiều người muốn biết và muốn học. Mong các anh trả lời sớm vấn đề này. Thanks các anh nhiều.

  46. Bạn Hiếu hãy suy nghĩ thêm về menu đa cấp nhé. Là bạn không biết làm thế nào chứ không phải là bạn không thể làm. Bạn hãy tìm hiểu cách thức để một hệ thống Menu như thế nào sẽ trở thành một Menu đa cấp, lúc đó bạn sẽ thực hiện được nó thôi.

    - Cũng nói sơ qua cho bạn biết, nếu bạn từng làm với loại hàng hóa rồi thì bạn cũng biết Category chính, trong Category chính thì còn có cái phụ, sau đó mới đến sản phẩm, kiểu như : Máy tính -> Lap Top -> Ram

  47. Nguyễn Anh Hiếu says:

    Thật sự là em chưa làm được mong được anh giúp đỡ. Em thấy mọi người đều nói đến ĐỆ QUI, nhưng em không biết sử dụng nó như thế nào. Anh có thể làm và cho mọi người tham khảo được không? Em đang rất cần mà.

  48. Hani says:

    cho em hỏi cái chỗ này
    #container li ul{
    nếu em để backgound thì không sao..
    nhưng nếu bỏ thì nó sẽ bị như này:
    http://upanh.tv/images/23876350822104992690.jpg

  49. anh có thể chỉ em cách làm drop down dọc sổ ngang được không anh, cái ngang sổ dọc thì em làm được rồi nhưng em muốn làm dọc sổ ngang như trang 24h mà vẫn chưa được code css ngang sổ dọc của em nè . anh có code dọc sổ ngang không post em với

    @charset “utf-8″;
    #vavMenu {
    margin:0;
    padding:0;
    }
    #vavMenu ul {
    margin:0;
    padding:0;
    line-height:20px;
    }
    #vavMenu li {
    margin:0;
    padding:0;
    list-style:none;
    float:left;
    position:relative;
    background:#008040;
    }
    #vavMenu ul li a {
    text-align:center;
    font-family:”Times New Roman”, Times, serif;
    text-decoration:none;
    height:20px;
    width:80px;
    display:block;
    color:#000;
    border:1px solid #000;
    }
    #vavMenu ul ul {
    position:absolute;
    visibility:hidden;
    top:20px;
    }
    #vavMenu ul li:hover ul {
    visibility:visible;
    }
    #vavMenu li:hover {
    background:#e9e9e9;;
    }
    #vavMenu ul li a:hover ul li a:hover {
    background:#ffe8e8;
    color:#f6c;
    }
    #vavMenu a:hover {
    color:#000;
    }

  50. Phạm Văn Tú says:

    từ cách làm của anh em làm theo tương tự nhưng không hiểu tại sao ở cái menu dropdown cái thẻ li nó không sát vào bên trái thẻ ul má cách ra 1 đoạn, em làm hết mọi cách rối mà nó vẫn không thay đổi gì cả. Lý do là làm sao vậy anh Demon.

  1. BB
  2. BB
  3. BB

arrow

Lưu ý khi post comment:

  • Không "bóc tem" topic
  • Dùng lời lẽ có văn hoá và lịch sự
  • Xem trang FAQs trước khi hỏi
  • Bạn có thể dùng thẻ HTML như:<strong>, <em>, <a>
  • Wrap code trong dấu `backtick` (dấu trên phím Tab)

Chọn kiểu gõ: Tự động TELEX VNI Tắt