Thứ Sáu

làm menu ngang cho blogger


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.
<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ổ sungkhoả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 a và a: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ềnhì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[/* và]]></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ủ và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!

5 nhận xét:

  1. bạn ơi đọc xong mình không biết bắt đầu từ đâu. mà làm sao để tạo được linklist. mình không hiểu gì hết. huhu

    Trả lờiXóa
  2. Bạn Đức ơi! Giúp mình xí!
    Mình là Dũng ở trang http://nghiencuukinhtehoc.com
    Thanh ngang trên cùng của mình ở trang chủ thì có xuất hiện, nhưng khi nhấp chuột chạy vào những trang khác (như http://www.nghiencuukinhtehoc.com/search/label/H%E1%BB%8Dc%20ti%E1%BA%BFng%20Anh) thì thanh ngang trên cùng biến mất. Giúp mình với!

    Trả lờiXóa
  3. chào bạn dũng
    mấy hôm nay mình đang bận thi tôt nghiệp nên cũng ít lên mạng
    bạn thử cách này xem thế nào nhé,những menu thanh ngang bên trên của bạn,trên đó là tiện ích trang html/javarcrisp,bạn hãy xóa tiện ích đó đi,và tạo lại trang bằng cáh ,bạn thêm tiện ích trang vào,rồi thực hiện từ đầu,nếu không được mình sẽ ngâm cứu dúp bạn líc rảnh

    Trả lờiXóa
  4. Nếu mình viết một bài mới mà muốn thêm nó vào menu phù hợp thì làm thế nào hả bạn.1 menu thì có nhiều bài mà.thanks bạn trước nha

    Trả lờiXóa
  5. "liên kết một bài viết trên 1 menu" khi click vào tab menu đó thì nó sẽ dẫ tới bài viết đó (không biết ý của bạn có như vậy không
    nếu như vậy mình hướng dẫn nhé
    ví dụ : 1 đoạn html cấu trúc của menu sẽ dạng này

    < li > Trang chủ < /li>

    + trong thành phần này (http://www.thuthuatblog.com)là link của trang bài viết bạn đã đăng bạn chỉ việc thay thế nó cho phù hợp
    + thành phần này (Trang chủ) là chữ hiển thị bạn cũng có thể thay nó bằng ảnh bằng
    chúc bạn thành công :)

    Trả lờiXóa

 

Blogger news

Blogroll

About