BÀI 7: LIÊN KẾT VÀ ĐIỀU HƯỚNG (NAVIGATION)

7.1. Thẻ liên kết cơ bản (<a>)

  • Cú pháp:

    HTML
     
    <a href="duong-dan" target="_blank" title="Gợi ý">Nội dung bấm vào</a>
    
  • Giải thích các thuộc tính quan trọng:

    1. href (Hypertext Reference): Đích đến của liên kết. (Bắt buộc).

    2. target="_blank": Mở liên kết trong một tab mới.

      • Ví dụ: Khi dẫn link sang Facebook hoặc Google, nên dùng cái này để người dùng không bị thoát khỏi web của mình.

    3. title: Dòng chữ nhỏ hiện lên khi rê chuột vào (giống Tooltip).

7.2. Các loại liên kết phổ biến

a) Liên kết Website (External Link)

  • Dẫn tới một trang web khác trên internet.

  • Ví dụ: <a href="https://google.com">Đến Google</a>

b) Liên kết Trang con (Internal Link)

  • Dẫn tới một file khác trong cùng thư mục dự án của mình.

  • Ví dụ: Từ trang chủ bấm sang trang liên hệ.

    HTML
     
    <a href="lien-he.html">Liên hệ với chúng tôi</a>
    

c) Liên kết Neo (Anchor Link / Bookmark)

  • Chức năng: Nhảy đến một vị trí cụ thể trên cùng một trang (Thường dùng làm Mục lục hoặc nút “Về đầu trang”).

  • Cách làm:

    1. Đặt id cho đích đến: <h2 id="chuong1">Chương 1</h2>

    2. Đặt link trỏ tới dấu thăng #: <a href="#chuong1">Xem Chương 1</a>

d) Liên kết Email và Điện thoại (Rất hữu ích trên Mobile)

  • Gọi điện: <a href="tel:0901234567">Gọi ngay: 090.123.4567</a> (Bấm vào là điện thoại tự quay số).

  • Gửi mail: <a href="mailto:admin@gmail.com">Gửi Email</a>

7.3. Tạo Menu điều hướng (Navigation Bar)

Menu thực chất là một danh sách (<ul>) nhưng được CSS để nằm ngang và bỏ dấu chấm đầu dòng.

  • Bước 1: HTML

    HTML
     
    <nav>
        <ul class="menu">
            <li><a href="index.html">Trang chủ</a></li>
            <li><a href="tin-tuc.html">Tin tức</a></li>
            <li><a href="lien-he.html">Liên hệ</a></li>
        </ul>
    </nav>
    
  • Bước 2: CSS (Biến danh sách dọc thành ngang)

    CSS
     
    /* 1. Xóa dấu chấm tròn và căn lề */
    .menu {
        list-style-type: none;
        padding: 0;
        margin: 0;
        background-color: #333; /* Màu nền đen */
        overflow: hidden;
    }
    
    /* 2. Cho các mục nằm ngang hàng */
    .menu li {
        float: left; /* Trôi về bên trái */
    }
    
    /* 3. Trang trí cho thẻ Link bên trong */
    .menu li a {
        display: block;         /* Biến link thành khối để bấm dễ hơn */
        color: white;           /* Chữ trắng */
        text-align: center;
        padding: 14px 16px;     /* Tạo khoảng thở */
        text-decoration: none;  /* Bỏ gạch chân xấu xí */
    }
    
    /* 4. Hiệu ứng khi di chuột */
    .menu li a:hover {
        background-color: #111; /* Đổi màu nền khi hover */
    }

2.4. Sử dụng Biểu tượng (Font Awesome) Thay vì dùng hình ảnh (<img>) làm icon (vỡ khi phóng to), ta dùng Font Icon (nhẹ, sắc nét, đổi màu được bằng CSS).

  • Bước 1: Nhúng thư viện Font Awesome vào thẻ <head> (Giáo viên cung cấp link CDN).

    HTML
     
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
    
  • Bước 2: Sử dụng thẻ <i> để chèn icon.

    HTML
     
    <a href="index.html"><i class="fa-solid fa-house"></i> Trang chủ</a>
    <a href="facebook.com"><i class="fa-brands fa-facebook"></i> Facebook</a>

BÀI TẬP

Bài tập 7.1: Tạo trang One-page (Liên kết Neo)

  • Yêu cầu: Tạo một trang web dài (có nhiều nội dung br xuống dòng).

    1. Tạo Menu cố định ở đầu trang gồm: Giới thiệu, Sản phẩm, Liên hệ.

    2. Khi bấm vào “Sản phẩm”, trang web tự trượt xuống phần Sản phẩm (id="san-pham").

    3. Tạo một nút mũi tên ⬆️ ở cuối trang. Khi bấm vào thì nhảy ngược lên đầu trang (href="#top").

Bài tập 7.2. Hãy thiết kế trang web THƯƠNG MẠI ĐIỆN TỬ theo các yêu cầu sau đây:

  1. Tạo trang web giống Bài tập 5.3, trong trang này có các  file HTML riêng biệt: index.html, about.html, contact.html.
  2. Tạo form đăng nhập vào trang trên. Nếu đăng nhập không đúng sẽ không vào được.
  3. Trong web THƯƠNG MẠI ĐIỆN TỬ tích hợp vào Phiếu Đăng ký thành viên, Form đặt hàng, địa chỉ liên hệ có tích hợp google Map.
  4. Tất cả các trang tạo các link mạng xã hội (Facebook, Youtube, TikTok)
  5. Mặc định icon màu xám
  6. Khi hover vào: Facebook chuyển màu xanh dương, Youtube chuyển màu đỏ, TikTok chuyển màu đen. (Sử dụng transition để đổi màu mượt mà).
  7. Đảm bảo khi đang ở trang chủ, bấm vào “Liên hệ” thì chuyển sang trang contact.html.
  8. Thêm các icon Font Awesome vào trước chữ trên Menu cho đẹp.
  9. Ở trang Liên hệ: Tạo link số điện thoại và email thật.

4. Câu hỏi ôn tập

  1. Câu hỏi: Thuộc tính target="_blank" có tác dụng gì? Khi nào nên dùng?

    • Trả lời: Mở link trong tab mới. Dùng khi dẫn link sang website khác (VD: Youtube) để giữ chân người dùng ở lại trang của mình.

  2. Câu hỏi: Làm thế nào để bỏ đường gạch chân mặc định dưới chân các liên kết?

    • Trả lời: Sử dụng CSS: text-decoration: none;.

  3. Câu hỏi: Tại sao <li> mặc định nằm dọc, làm sao để nó nằm ngang?

    • Trả lời: <li> là thẻ khối (Block). Để nằm ngang, ta dùng CSS float: left hoặc display: inline-block (hoặc hiện đại hơn là display: flex cho thẻ cha ul).

  4. Câu hỏi: Sự khác nhau giữa <a href="lien-he.html"><a href="tel:090...">?

    • Trả lời: Cái đầu tiên là mở một trang web. Cái thứ hai là kích hoạt chức năng gọi điện trên điện thoại.