Thành công!
TRUCBLOG JOURNAL GÓC ĐỌC • GÓC VIẾT
Bài viết / Góc chia sẻ

Tạo nút Back to Top chuyên nghiệp đẹp mắt

Đỗ Trực tháng 3 04, 2018 2 phút đọc 3 bình luận … Lượt xem

Một nút "Lên đầu trang" (Back to Top) mượt mà không chỉ nâng cao trải nghiệm người dùng mà còn giúp giữ chân độc giả trên blog của bạn lâu hơn. Tuy nhiên, nhiều mẫu chia sẻ trên mạng hiện nay vẫn sử dụng jQuery hoặc dùng các thuộc tính CSS cũ kỹ (như dùng border để tạo hình tam giác), làm tăng dung lượng tải trang và kéo tụt điểm số Google PageSpeed Insights.

Bài viết này sẽ hướng dẫn bạn cách tạo nút Back to Top sử dụng hoàn toàn Vanilla JavaScript siêu nhẹ kết hợp biểu tượng SVG sắc nét, đi kèm 5 phong cách thiết kế hiện đại để bạn thoải mái lựa chọn cho giao diện của mình.



Các Tính Năng Nổi Bật

  • Không sử dụng jQuery: Viết bằng Vanilla JavaScript nguyên bản, giúp mã thực thi cực nhanh và không phải tải thêm thư viện bên ngoài.

  • Sử dụng SVG thay cho Font Icon: Biểu tượng mũi tên dùng thẻ <svg> trực tiếp, loại bỏ việc phải load font chữ nặng nề, đảm bảo độ sắc nét tuyệt đối trên mọi màn hình (kể cả màn hình Retina).

  • Hiệu ứng mượt mà (Smooth Scroll): Chuyển động cuộn trang mượt mà lên đầu trang, nút có hiệu ứng mờ dần khi xuất hiện và nảy nhẹ khi di chuột.

  • Dễ dàng tùy biến: Cấu trúc CSS được phân tách rõ ràng thành phần "Khung cốt lõi" và phần "Giao diện", giúp bạn thay đổi kiểu dáng chỉ trong vài giây.

Hướng Dẫn Chèn Vào Blogspot

Để cài đặt, bạn đăng nhập vào trang quản trị Blogger, vào mục Chủ đề > Chỉnh sửa HTML và làm lần lượt theo 3 bước sau:

Bước 1: Chèn mã HTML và JavaScript Tìm thẻ đóng </body> (nằm ở cuối cùng của đoạn mã template) và dán đoạn code sau vào ngay phía trên nó:

<!-- Nút Back to Top -->
<button id="back-to-top" aria-label="Lên đầu trang">
  <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
    <polyline points="18 15 12 9 6 15"></polyline>
  </svg>
</button>

<!-- Script Vanilla JS siêu nhẹ -->
<script>
  document.addEventListener("DOMContentLoaded", function() {
    const btt = document.getElementById("back-to-top");
    window.addEventListener("scroll", function() {
      if (window.scrollY > 300) {
        btt.classList.add("show");
      } else {
        btt.classList.remove("show");
      }
    });
    btt.addEventListener("click", function() {
      window.scrollTo({ top: 0, behavior: "smooth" });
    });
  });
</script>

Bước 2: Chèn CSS khung định vị cốt lõi Tìm thẻ ]]></b:skin> và dán đoạn CSS sau vào ngay phía trên nó. Đoạn này giúp xử lý vị trí hiển thị và hiệu ứng ẩn/hiện của nút:

/* Khung định vị cơ bản Back To Top */
#back-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  border: none;
  outline: none;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform: translateY(20px);
}
#back-to-top.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
#back-to-top svg {
  width: 22px;
  height: 22px;
  transition: transform 0.3s ease;
}
#back-to-top:hover svg {
  transform: translateY(-3px);
}

Bước 3: Chọn và chèn 1 trong 5 mẫu thiết kế Dán tiếp MỘT trong năm mẫu CSS dưới đây ngay bên dưới đoạn CSS ở Bước 2, tùy theo sở thích và phong cách giao diện blog của bạn.

Mẫu 1: Kính mờ (Glassmorphism) 

Phong cách tinh tế, có độ trong suốt và viền mờ ảo.


#back-to-top {
width: 48px;
height: 48px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.2);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.4);
color: #334155;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
#back-to-top:hover {
background: rgba(255, 255, 255, 0.4);
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}


 Mẫu 2: Nổi khối 3D (Neumorphism) 

Phong cách dập nổi tiệp màu với nền trắng/xám sáng.

#back-to-top { width: 50px; height: 50px; border-radius: 50%; background: #e0e5ec; color: #64748b; box-shadow: 7px 7px 14px rgba(163, 177, 198, 0.6), -7px -7px 14px rgba(255, 255, 255, 0.8); } #back-to-top:hover { color: #2563eb; box-shadow: inset 5px 5px 10px rgba(163, 177, 198, 0.5), inset -5px -5px 10px rgba(255, 255, 255, 0.8); }

Mẫu 3: Dải màu phát sáng (Gradient Glow) 

Màu sắc rực rỡ, thu hút sự chú ý.

#back-to-top {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, #6366f1 0%, #a855f7 100%);
  color: #ffffff;
  box-shadow: 0 4px 15px rgba(168, 85, 247, 0.4);
}
#back-to-top:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 8px 25px rgba(168, 85, 247, 0.6);
}

Mẫu 4: Tech & Cyber (Cyber/Bordered) 

Vuông vắn, góc cạnh, thích hợp cho các blog thiên về code hoặc công nghệ.

#back-to-top { width: 44px; height: 44px; border-radius: 8px; background: #0f172a; color: #0ea5e9; border: 2px solid #0ea5e9; } #back-to-top:hover { background: #0ea5e9; color: #ffffff; box-shadow: 0 0 15px rgba(14, 165, 233, 0.5); }

Mẫu 5: Cổ điển tinh giản (Classic Minimal) 

Giao diện quen thuộc, trực quan và dễ nhìn.

#back-to-top { width: 52px; height: 52px; border-radius: 50%; background: #2563eb; color: #ffffff; box-shadow: 0 6px 12px rgba(37, 99, 235, 0.3), 0 1px 3px rgba(37, 99, 235, 0.2); } #back-to-top:hover { background: #1d4ed8; box-shadow: 0 10px 20px rgba(37, 99, 235, 0.4); }
Sau khi chèn đầy đủ HTML, Javascript và CSS, bạn nhấn Lưu chủ đề, ra ngoài giao diện blog tải lại trang bằng phím Ctrl + F5 và cuộn chuột xuống để tận hưởng thành quả.
Chia sẻ bài viết:
Ảnh đại diện tác giả

Đỗ Trực Tác giả / Admin

Chia sẻ kiến thức lập trình, phát triển web, công nghệ và các thủ thuật thực tế. Cảm ơn bạn đã ghé thăm Truc Blog.

Thảo Luận & Nhận Xét (3)

Công cụ bình luận nâng cao:
Nội quy bình luận của blog

Hãy cùng giữ phần thảo luận thân thiện, hữu ích và an toàn cho mọi người.

  1. Trao đổi lịch sự, tôn trọng người khác; góp ý vào nội dung, không công kích cá nhân.
  2. Bình luận đúng chủ đề bài viết; tránh spam, quảng cáo lặp lại hoặc đường dẫn đáng ngờ.
  3. Không đăng mật khẩu, số giấy tờ, thông tin liên hệ riêng tư hay dữ liệu nhạy cảm.
  4. Khi chia sẻ mã nguồn, hãy dùng công cụ mã hóa code để giữ nguyên ký tự và dễ đọc.
  5. Chỉ chia sẻ hình ảnh, video và tài liệu mà bạn có quyền sử dụng; không đăng nội dung vi phạm pháp luật.
  6. Quản trị viên có thể ẩn hoặc xóa nội dung spam, xúc phạm, không an toàn hoặc không phù hợp.
Biểu tượng cảm xúc nổi bậtChạm để sao chép
Công cụ Mã hóa HTML & Chèn Code vào Bình luận
* Nhấn Chèn Ảnh/Video, dán liên kết công khai rồi sao chép URL vào bình luận. Sau khi bình luận được đăng, mẫu sẽ tự hiển thị ảnh trực tiếp, video MP4/WebM hoặc video YouTube nếu URL thuộc định dạng được hỗ trợ. Blogger không cho tải tệp trực tiếp lên bình luận.

Nhận xét

  1. Được đây đã áp dụng cho blog mình

    Trả lờiXóa
  2. Hay đây. Nghiên cứu tiếp cái này mới được!

    Trả lờiXóa
  3. hihi , bài này hay quá , và mình đã coppy sang bên blog của mình , xin lỗi vì quên đã ko để nguồn bài đăng

    Trả lờiXóa