Thursday, July 16, 2009

Làm menu ngang như thế nào?

Đăng ký dịch vụ lưu trữ đám mây: Dropbox, Mediafire, OneDrive. Sau khi đăng ký xong, cài đặt phần mềm cho Windows hoặc ứng dụng điện thoại - máy tính bảng để đồng bộ dữ liệu.

Khá nhiều bạn đọc yêu cầu được hướng dẫn làm menu ngang như menu có trên Thủ Thuật Blog. Thật ra tạo menu kiểu này không khó, quan trọng bạn phải nắm được một số kiến thức về CSS nhất định. Để bạn dễ hiểu tôi sử dụng hướng dẫn thiết kế menu ngang được giới thiệu trên WordPress.org và sau đó chúng ta ứng dụng chúng cho trường hợp của Blogger.

TÌM HIỂU CÁCH TẠO MENU NGANG:

Giả sử chúng ta có đoạn code sau đây:
<div id="navmenu">
<ul>
<li><a href="http://www.thuthuatblog.com">Trang chủ</a></li>
<li><a href="http://www.thuthuatblog.com/2009/05/phan-loai-noi-dung-tren-thu-thuat-blog.html">Phân loại</a></li>
<li><a href="http://www.thuthuatblog.com/2007/09/danh-sch-blog.html">Danh sách blog</a></li>
<li><a href="http://www.thuthuatblog.com/rss.xml">RSS</a></li>
</ul>
</div>

Nếu nhúng đoạn code này vào template Blogger hoặc qua tiện ích HTML/JavaScript, mặc định, đoạn code trên sẽ hiển thị như sau:

Bây giờ chúng ta áp dụng CSS để đoạn navmenu trên tạo thành hàng ngang:
#navmenu ul {
margin: 0;
padding: 0;
list-style-type: none;
list-style-image: none;
}

#navmenu li {
display: inline;
}

Nhưng các chữ lại dính kế nhau nhìn chưa được đẹp đúng không? Chúng ta bổ sung khoảng trắng vào chúng và thêm màu cho link, cũng như đổi màu khi rê chuột vào đối tượng:
#navmenu ul {
margin: 0;
padding: 0;
list-style-type: none;
list-style-image: none;
}

#navmenu li {
display: inline;
padding: 5px 20px 5px 20px;
}

#navmenu a { /* Màu link */
text-decoration:none;
color: blue;
}

#navmenu a:hover { /* Màu link khi rê chuột vào */
color: purple;
}

Thuộc tính aa:hover định dạng các link nhưng nằm giữa <li> và </li> nên ta gom lại cho dễ nhìn (***):
#navmenu ul {
margin: 0;
padding: 0;
list-style-type: none;
}

#navmenu li {
display: inline;
list-style-image: none;
}

#navmenu ul li a {
text-decoration:none;
color: blue;
padding: 5px 20px 5px 20px;
}

#navmenu ul li a:hover {
color: purple;
}

Tuỳ thuộc vào template, khi sử dụng chúng ta có thể kết hợp màu nền, hình nền, kiểu border, font chữ, màu chữ, kích thước chữ, chiều ngang của menu (width)... vào các thành phần trên.

Ví dụ mẫu:
#navmenu ul {
margin: 0;
padding: 0;
list-style-type: none;
}

#navmenu li {
display: inline;
list-style-image: none;
}

#navmenu ul li a {
text-decoration:none;
color: #ffffff;
background: #ff0000;
border-right: 2px solid #000000;
padding: 5px 20px 5px 20px;
}

#navmenu ul li a:hover {
color: #f8f400;
font-size: 14px;
background: #0000ff;
text-decoration:underline;
}


ỨNG DỤNG VÀO BLOGGER:

Như vậy bạn đã hiểu nguyên tắc làm menu ngang:
  1. Cần có một đoạn CSS như trên được dán vào giữa <b:skin><![CDATA[/*]]></b:skin> trong Template. (đã đề cập ở trên)

  2. Cần một đoạn mã chứa các link của menu ngang

Tất nhiên bạn vẫn có thể sử dụng đoạn mã chứa link menu ngang chèn thẳng vào Template của blog. Nhưng ở đây tôi hướng dẫn cách làm thông qua tiện ích Linklist của Blogger.

Đăng nhập vào Blogger, từ layout thêm vào tiện ích Linklist, bạn cần bổ sung các link và tên menu ngang của mình như hình sau đó lưu lại.

Nếu quan sát kỹ bạn thấy tôi không đặt tên cho tiện ích, không thêm Trang chủRSS vào dữ liệu của Linklist, do chúng ta thêm vào bằng cách khác.

LinkList mà bạn vừa tạo có được điều khiển bằng đoạn mã như thế này:
<b:widget id='LinkList1' locked='false' title='' type='LinkList'/>

Hãy để ý ID của nó là duy nhất, có dạng LinkList#, với ký tự # là số duy nhất. Nếu bạn sử dụng nhiều LinkList, ký tự # sẽ lần lượt là: 1, 2, 3, ...

Tiếp tục tôi gợi ý bạn cắt đoạn mã vừa nêu cho vào notepad (khoan hãy lưu lại Template nhé), tạo div có tên navmenu, bổ sung một số thành phần thiết yếu và chúng ta sẽ được như thế này:
      <div id='navmenu'>
<b:section class='navmenu' id='navmenu-id' showaddelement='yes'>
<b:widget id='LinkList1' locked='false' title='' type='LinkList'/>
</b:section>
</div>

Và bây giờ hãy copy hết chúng đặt vào template. Tuỳ thuộc vào template và vị trí đặt menu mong muốn mà chúng ta có cách xử lý khác nhau. Cách xử lý này đòi hỏi bạn phải có kiến thức thiết kế, CSS cũng như những hiểu biết nhất định về mã nguồn template của Blogger.

Đây là template mẫu Minima (mặc định), nếu bạn dùng template khác, tất nhiên sẽ không giống!:

<body>
<div id='outer-wrapper'><div id='wrap2'>

<!-- skip links for text browsers -->
<span id='skiplinks' style='display:none;'>
<a href='#main'>skip to main </a> |
<a href='#sidebar'>skip to sidebar</a>
</span>
<!-- Chèn vào đây nếu muốn đặt menu ngang phía trên header của blog -->
<div id='header-wrapper'>
<b:section class='header' id='header' maxwidgets='1' showaddelement='no'>
<b:widget id='Header1' locked='true' title='Thủ Thuật Blog.com(Header)' type='Header'/>
</b:section>
</div>

<!-- Chèn vào đây nếu muốn đặt menu ngang phía dưới header của blog -->

<div id='content-wrapper'>

<div id='crosscol-wrapper' style='text-align:center'>
<b:section class='crosscol' id='crosscol' showaddelement='no'/>
</div>

<div id='main-wrapper'>
<b:section class='main' id='main' showaddelement='no'>
<b:widget id='Blog1' locked='true' title='Blog Posts' type='Blog'/>
<b:widget id='HTML8' locked='false' title='' type='HTML'/>
</b:section>
</div>


BỔ SUNG "TRANG CHỦ" VÀ "RSS":

Nếu bạn đưa hẳn link Trang chủ (http://yourblog.blogspot.com) vào dữ liệu của LinkList, khi đó chúng ta khó sắp xếp làm sao cho Trang chủ nằm đầu tiên. Do đó cách đơn giản nhất là chúng ta làm bằng ... tay!

Hãy đánh dấu Expand Widget Templates (Mở rộng tiện ích mẫu):


Dùng từ khoá LinkList để tìm tiện ích của chúng ta và bạn sẽ tìm thấy như sau:

<div id='navmenu'>
<b:section class='navmenu' id='navmenu-id' showaddelement='yes'>
<b:widget id='LinkList1' locked='false' title='' type='LinkList'>
<b:includable id='main'>

<b:if cond='data:title'><h2><data:title/></h2></b:if>
<div class='widget-content'>
<ul>
<b:loop values='data:links' var='link'>
<li><a expr:href='data:link.target'><data:link.name/></a></li>
</b:loop>
</ul>
</div>
</b:includable>
</b:widget>
</b:section>
</div>


Và tôi đã bổ sung phần chữ màu đỏ:

<div id='navmenu'>
<b:section class='navmenu' id='navmenu-id' showaddelement='yes'>
<b:widget id='LinkList1' locked='false' title='' type='LinkList'>
<b:includable id='main'>

<b:if cond='data:title'><h2><data:title/></h2></b:if>
<div class='widget-content'>
<ul>
<li><a expr:href='data:blog.homepageUrl' title='Trang chủ'>Trang chủ</a></li>
<li><a expr:href='data:blog.homepageUrl + "2009/05/phan-loai-noi-dung-tren-thu-thuat-blog.html"' title='Phân loại nội dung'>Phân loại</a></li>
<li><a expr:href='data:blog.homepageUrl + "2008/01/i-nt-v-blog-v-tc-gi.html"' title='Về tác giả'>Tác giả</a></li>

<b:loop values='data:links' var='link'>
<li><a expr:href='data:link.target'><data:link.name/></a></li>
</b:loop>
<li><a expr:href='data:blog.homepageUrl + "2007/12/quy-nh-s-dng-cc-ni-dung-trn-th-thut.html"' title='Quy định'>Quy định</a></li>
<li><a expr:href='data:blog.homepageUrl + "feeds/comments/default"' title='Nhận xét'>Nhận xét</a></li>
<li class='last'><a expr:href='data:blog.homepageUrl + "rss.xml"' title='RSS'>RSS</a></li>

</ul>
</div>
</b:includable>
</b:widget>
</b:section>
</div>


Bạn đã biết tôi thêm bằng cách nào rồi chứ?

Đến đây coi như chúng ta đã làm xong! Nếu có gặp khó khăn hãy comment dưới bài viết này để được giúp đỡ. Chúc thành công!

Tham gia Cộng đồng sử dụng Blogger Việt Nam trên Facebook, giải đáp thắc mắc, mẹo vặt, chia sẻ kinh nghiệm sử dụng Blogger (BlogSpot)...

55 comments:

  1. Muốn trao đổi link với Nhân mà không biết phải vào đâu.. thôi thì comment vô đây luôn há... Mình sẽ đặt link thuthuatblog ở http://coitre.blogspot.com

    ReplyDelete
  2. Anh ơi anh chỉ dùm em cách làm thêm kí hiệu màu vàng ở phần Newer Post, Home, Older Post giống như của anh đc ko !

    ReplyDelete
  3. @sella, ok, sẽ sớm có hướng dẫn.

    ReplyDelete
  4. cho em hoi lam sao de mo rong khung cua blog giong nhu cua thuthuatblog.com blog cua em sau khi lam 3 cot thi no chia deu cac cot trong rat nho xin cam on
    yahoo:vtv.vn90

    ReplyDelete
  5. Mình làm theo cách dùng LinkList nhưng không biết làm sao để chuyển từ dọc thành menu ngang hoặc thêm các hiệu ứng rê chuột thì chữ sáng lên.

    ReplyDelete
  6. Bai viet hay day!minh luon muon lam mot menu ngang cho blog cua minh.Thanks!

    ReplyDelete
  7. Khi tạo 1 cái menu mang có các mục rồi. Lam thế nào để khi viết bài ta chọn bài viết vào mục nào đó

    ReplyDelete
  8. Rất hay .. mình đã có những cải tiến một số lệnh nhỏ để www.ketnoionline.biz đẹp hơn ..

    Nếu các bạn muốn trình diễn trang website của mình ,, mời các bạn tới dự show trình diễn các website nhằm giao lưu, học hỏi ... Tôn vinh những website đẹp tại www.ketnoionline.biz

    ReplyDelete
  9. toivagoogle.blogspot.com

    ReplyDelete
  10. @Đức khùng, em cần chút kiến thức CSS để chỉnh khoảng trống. Hãy cho link blog để được hướng dẫn chi tiết hơn.

    @theKing_No.1, hướng dẫn trên có menu ngang rồi đó, nếu muốn hiệu ứng rê chuột gì đó thì chỉnh thêm #navmenu ul li a:hover

    @HDICT, chúng ta sử dụng link của Nhãn (Label). Ví dụ đây là một nhãn: http://www.thuthuatblog.com/search/label/Blogger%20c%C6%A1%20b%E1%BA%A3n

    ReplyDelete
  11. @ketnoionline, cám ơn ketnoionline.biz!

    ReplyDelete
  12. em dang chinh sua giao dien blog nhung trong mau lai thieu phan " order post" va "newer post" nhu cac blog khac!
    Ah,co the doi font color cua gadget Recent post va Recent commnet (trong ung dung cua blogger)tu mau den thanh mau trang khong? em vo edit HTML tim phan do roi nhung ko thay cho nao co bang mau ca?
    blog cua em: http://thaiminhdan.blogspot.com

    ReplyDelete
  13. híc.Anh nhân ơi.Tạo thanh menu ngang thì nó thành menu dọc .Híc.Chắc em chít mất .Anh giúp em với .blog em nà:http://technologynit.blogspot.com/

    ReplyDelete
  14. Anh Nhân Cho Em hỏi Làm Sao Để giấu Cái "Chỉnh Sữa Tiện ích" ở trang chủ với anh.
    Cũng Là Chỉnh Trong editHTML nhỉ?
    ở Đoạn code nào anh?

    ReplyDelete
  15. @Thái Minh Dân, mỗi blog có template khác nhau, muốn đổi em xem giá trị của h2 thế nào nhé.

    @Chuột Nhỏ, chỉnh sửa tiện ích chỉ hiện khi em đang đăng nhập Blogger thôi. Lúc em thoát ra thì sẽ không còn nữa.

    ReplyDelete
  16. CÁI LINKLIST1 MÀU ĐỎ LÀ SAO ANH,E KHÔNG RÀNH VỀ CODE, E LÀM NHƯ A MÀ SAO KHÔNG ĐƯỢC.

    ReplyDelete
  17. anh nhân ơi cho em hỏi?
    Em cài 1 style mới mà em tải về cho blog và cài đặt được rồi, nhưng em lại không chỉnh sửa được các nút đó là sao vậy anh?
    Blog của em: www.thachanhinfo.co.cc
    anh vao xem ho em cai nhe
    giúp em sớm với!

    ReplyDelete
  18. Hi vào đây xem nhé. Nhiều thứ pro hơn ở đây nhiều

    http://ngonngulaptrinhvn.blogspot.com

    ReplyDelete
  19. Cái ông Viprolang dựa vào đâu mà nói nhiều thứ pro hơn ở đây hả...Chỉ toàn là những bài copy paste cũng bài đặt xổ nho..ta đây là pro...Thử viết đoạn code có điều kiện như sau xem :
    Có 2 loại bài đăng được hiển thị trên trang chủ :
    Loại thứ 1 : Bài đăng có gắn label (nhãn)...
    Loại thứ 2 : Bài đăng ko có gắn label (nhãn)...
    Làm sao chỉ hiển thị bài đăng có gắn label (giống y như trong từng trang label nhưng hiển thị luôn tất cả những bài trong các label khác )...Còn những bài đăng ko có gắn Label thì sẽ ko hiển thị...
    Xin mời Viprolang thể hiện đẳng cấp Pro của mình đi...Đừng có mà to mồm...

    ReplyDelete
  20. Chú này hay nhỉ! cũng chỉ là chia sẻ cho zui thôi. Trang chủ thì cần gì bài đăng chú này. Đúng là rảnh quá. Trang chủ người ta cần gì hiển thị bài đăng khà khà

    ReplyDelete
  21. chào nha!
    mình là người mới làm blog.Về tin học không biết nhiều nên mong bạn giúp đỡ nhiều.
    Mình muốn làm một menu ngang xổ xuống và chèn vào blog của mình.
    Menu gồm:Trang chủ; E book(HDSD phần mềm; HDSD phần cứng);phần mềm (phần mềm cài đặt;phần mềm đồ họa); giáo án(Giáo án word; giáo án powerpoint; giáo án Violet); giải trí(xem ti vi; nghe nhạc; chơi game)
    Vậy làm thê nào để tạo được và chèn vào blog như thế nào? chèn vào chỉnh sửa HTML hay chèn vào HTML/java(ở phần hearder)
    Mong được sự giúp đỡ nhiều.
    Nếu bạn làm dùm và gửi cho mình code của menu thì mình cảm ơn nhiều.
    blog của mình : http://hoatygon123.blogspot.com
    gmail: vandungthily@gmail.com

    ReplyDelete
  22. Làm sao để 1 HTML mình tạo ra ở phần Header, dính liền với phần body ở dưới được vậy. Như trong Blog của mình này: http://giang127.blogspot.com Giúp t với !

    ReplyDelete
  23. Template của mình có 1 vấn đề là hok hiểu sao image chèn trong bài viết cứ bị thu nhỏ kích thước khi xem bài hoài à, rõ ràng khi post bài thì bình thường mà khi xem thì lại thu nhỏ. Anh giúp em sửa được không?

    ReplyDelete
  24. bạn có thể xem blog của mình tại đây rồi hướng dẫn mình các làm thanh menu ngamg ngay tại thanh tieu đề được ko? bạn hướng dẫn chi tiết hộ mình với vì mình kém lắm hoặc nếu bạn có file hướng dẫn thì gửi cho minh qua email: vietdung153@gmail.com
    còn đây là blog cua mình:
    kiemtienso1.blogspot.com

    ReplyDelete
  25. quên chưa cảm ơn bạn.
    cảm ơn bạn nhiều. giúp mình với nha

    ReplyDelete
  26. This comment has been removed by the author.

    ReplyDelete
  27. mình bô xung một chút là có Lỗi ngay dòng:
    'LinkList'/>
    Không có dấu "/"
    Và khi cut bỏ đoạn lệnh: "_b:widget id='LinkList1' ......... type='LinkList'_"

    Chúng Ta phải bỏ đi cái "_/b:widget_"phía dưới gần đó. Và Thêm chính nó "_/b:widget_" vào cái mình paste phía trên.... Thanks thuthuatblog.com (dấu "_" là dấu "<>" cũng cắt bỏ luôn)

    ReplyDelete
  28. anh chỉ thêm cho em về việc đăng bài vào trong mấy cái đó đi... Cảm ơn anh.
    http://www.diaocvn.co.cc/ nhớ a/ chị, hướng dẫn thêm. thanks... bài viết này, e thực hiện đc đến đó àh, còn đăng bài vào trong đó, thì k biết... cảm ơn.

    ReplyDelete
  29. Chào bạn, mình mới làm blog và cũng chưa biết nhiều. Đây là blog của mình http://cafestock.blogspot.com/
    bạn có thể giúp mình tạo 5 liêm kết không
    Trang chủ
    NHận định thị trường
    Cổ phiếu đầu tư
    Kiến thức
    Giải trí.
    Chúc bạn sức khỏe và thành công!

    ReplyDelete
  30. Ui, đụng vào mấy cái CSS này nhức đầu quá, mà cũng ráng.
    Cảm ơn bạn đã có bài hướng dẫn ích lợi!

    ReplyDelete
  31. Thank thuthuatblog. Anh ơi làm sao để tạo ra trang post bài riêng ứng với 1 menu con vừa tạo sau menu cha vậy, và Post bài ở trang mới này ứng với menu con này tương tự các menu con khác thì cũng có trang khác nhau để Post bài ứng với mỗi menu con khác nhau. Tạo từng trang riêng ứng với 1 menu con hoặc menu cha để post bài riêng từng trang khác nhau. Thank!

    ReplyDelete
  32. rat hay
    http://truyenhinhgiaitri.blogspot.com

    ReplyDelete
  33. bài viết của bạn rất bổ ich, mong rằng bạn co nhiều bài viết hay hơn nữa

    ReplyDelete
  34. Bài viết rất hữu ích. Tôi đã tìm được cho mình một thủ thuật mới tại thuthuatblog.com. Cám ơn các bạn nhiều.

    ReplyDelete
  35. minh chưa hiểu lắm bởi blog minh toàn tiêng việt. mà bạn nói toan layout linklick minh ko hiểu lắm.

    ReplyDelete
  36. Mình làm được menu nang nhưng kick vô menu nào cũng y như nhau ah,ko có sự chuyển trang,bạn ơi giúp mình với
    thanhks so much

    ReplyDelete
  37. Bạn cho mình hỏi làm thế nào để có được cái danh sách thư mục vậy ?

    Kiều như ở blog này ý.

    # ► Tên miền cho blog (10)
    # ► Tính năng mới (2)
    # ► Tùy biến blog (1)
    # ► Tạo banner và logo (1)
    # ► Tối ưu hóa blog (10)
    # ► Âm nhạc cho blog (10)
    # ► Đọc và nghĩ (7)

    ReplyDelete
  38. Chĩnh font + size chữ sao ạ?

    ReplyDelete
  39. cảm ơn bạn. http:www.simvip.co.cc

    ReplyDelete
  40. Tôi ko hiểu gì hết. Cảm ơn. http://www.simvip.co.cc

    ReplyDelete
  41. khó quá ko nhỉu gì hết trơn. http://www.vn-kaio.co.cc/ zô blog tớ xem thanh menu này đc chưa ?

    ReplyDelete
  42. bác ơi cho em hỏi cái tiện ích LINKLIST kiếm ở đâu vậy !

    ReplyDelete
  43. Mình cũng thử xem sao. Mới làm blog. Hehe.

    ReplyDelete
  44. admin ơi làm sao mà kết nối giữa menu với bài viết nhỉ ? Hôm trước em có làm được một menu ngang sổ dọc, nhưng khi làm xong thì không thấy sổ dọc đâu cả và cũng chẳng biết đăng bài theo từng mục trong menu như thế nào ! Anh giúp em với ! Thank !

    ReplyDelete
  45. Cái bài này chưa hiểu rõ lắm,

    ReplyDelete
  46. mọi người ơi mình không biết cái đặt cho bloger mong mọi người chỉ cho mình với của mình: phamvansy.bloger.com . cám ơn mọi người nhé.

    ReplyDelete
  47. mình làm được nhưng ko biết sữ dụng sao ta mới làm quen blogger thôi

    ReplyDelete
  48. Mình làm blog đặt menu ngang gồm 5 thanh. Muốn đăng bài cho đúng vị trí thì làm thế nào? Thanks

    ReplyDelete
  49. http://typhu2086.blogspot.com/ đây là blog của mình. mình muốn đưa nội dung các bài viết vào từng tiêu đề của menu nhưng ko biet fai làm thế nào? mong bạn giúp đỡ

    ReplyDelete
  50. Bạn hướng dẫn đầy đủ quá.thanks

    ReplyDelete
  51. Cảm ơn bạn. Tôi đang tìm hiểu để thực hiện theo hướng dẫn.

    ReplyDelete
  52. Bạn ơi, tôi đã tạo được menu bar: Sản phẩm, Kinh Doanh, Tin Tức vv.v nhưng không biết cách xếp các bài viết vào các mục của menu. Bài viết ra tự động hiện lên trang chủ, còn các mục trong menu khi ấn vào thì không có gì hiện lên. vậy tôi phải làm thế nào để có thể xếp các bài viết theo các mục đã có ở menu?.
    blog của tôi: http://suckhoeduongsinhvn.blogspot.com/

    ReplyDelete
  53. co ai dang dung blogger.com ho cho minh muon nop bai cho thay dc ko?thanks nhiu.dia chi mail anhsaobang2011@gmail.com

    ReplyDelete

Cám ơn đã đọc bài viết. Bạn có thắc mắc, gợi ý hoặc bình luận xin chia sẻ bên dưới. Hãy viết bằng tiếng Việt có dấu để mọi người dễ đọc hơn. Xin đừng spam!

Do gần đây nhận rất nhiều spam bán thuốc từ nước ngoài, tạm thời để bình luận bạn bắt buộc phải có tài khoản OpenID hoặc Google. Chức năng này sẽ được khôi phục khi trình trạng spam được cải thiện. Xin lỗi về sự bất tiện này.