0

10 Mẹo Front-end hữu ích giúp bạn trở thành "Cao Thủ" lập trình

Bạn đã sẵn sàng nâng tầm kỹ năng phát triển frontend chưa? Dù bạn là một developer có kinh nghiệm hay mới bắt đầu, 10 mẹo dưới đây chắc chắn sẽ giúp bạn tiết kiệm rất nhiều thời gian, viết code sạch hơn và gây ấn tượng với đồng nghiệp. Hãy cùng khám phá nhé!

1. Làm chủ CSS Grid với minmax() cho Layout Responsive

Quên đi việc dùng media queries cho các layout đơn giản! Hàm minmax() trong CSS Grid là một công cụ thay đổi cuộc chơi. Nó giúp bạn tạo grid linh hoạt mà không cần viết quá nhiều breakpoint.

.container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}

Đoạn code trên tạo ra một grid linh hoạt, mỗi cột có ít nhất 200px nhưng có thể mở rộng để lấp đầy không gian trống. Thật kỳ diệu, đúng không nào?

2. Sử dụng clamp() cho kích thước chữ linh hoạt

Bạn mệt mỏi với việc phải dùng media queries để điều chỉnh kích thước chữ? Hãy gặp clamp()—hàm CSS giúp bạn định nghĩa phạm vi linh hoạt cho font-size.

h1 {
  font-size: clamp(2rem, 5vw, 3.5rem);
}

Điều này đảm bảo văn bản tự động thay đổi kích thước từ 2rem đến 3.5rem, tùy theo độ rộng của viewport. Không còn tình trạng font bị nhảy kích thước đột ngột nữa!

3. Tải hình ảnh theo nhu cầu (Lazy Load) để trang nhanh hơn

Tăng tốc website của bạn bằng cách tải ảnh chỉ khi cần. Chỉ cần thêm thuộc tính loading="lazy" vào thẻ <img>.

<img src="image.jpg" alt="Description" loading="lazy" />

Người dùng của bạn sẽ cảm ơn bạn vì trang đã tải nhanh hơn nhiều rồi đấy!

4. Biến CSS (CSS Variables) cho chủ đề linh hoạt

Thay vì lặp đi lặp lại màu sắc và kích thước, hãy sử dụng CSS Variables để tạo chủ đề động dễ dàng thay đổi.

:root {
  --primary-color: #3498db;
  --secondary-color: #2ecc71;
}

button {
  background-color: var(--primary-color);
  color: white;
}

Bạn có thể thay đổi theme ngay lập tức bằng cách cập nhật các biến này bằng JavaScript!

5. Dùng IntersectionObserver cho hiệu ứng cuộn

Muốn thêm hiệu ứng cuộn (scroll animation) mà không cần thư viện? IntersectionObserver API là lựa chọn hoàn hảo!

const observer = new IntersectionObserver((entries) => {
  entries.forEach(entry => {
    if (entry.isIntersecting) {
      entry.target.classList.add('animate');
    }
  });
});

document.querySelectorAll('.fade-in').forEach(element => {
  observer.observe(element);
});

Kết hợp với CSS transitions, bạn sẽ có hiệu ứng cuộn mượt mà!

6. Tối ưu hóa quy trình phát triển với Emmet

Nếu bạn chưa dùng Emmet, bạn đã bỏ lỡ một công cụ giúp tăng tốc độ viết code đáng kể. Ví dụ:

ul>li*5

Nhấn Tab, Emmet sẽ tự động mở rộng thành:

<ul>
  <li></li>
  <li></li>
  <li></li>
  <li></li>
  <li></li>
</ul>

Hãy học các phím tắt của Emmet để viết code nhanh hơn gấp nhiều lần!

7. Tạo con trỏ chuột tùy chỉnh để nâng cao trải nghiệm người dùng

Muốn website trông chuyên nghiệp và độc đáo hơn? Hãy tạo con trỏ chuột tùy chỉnh!

body {
  cursor: url('custom-cursor.png'), auto;
}

Lưu ý: Con trỏ nên nhỏ và nhẹ để tránh ảnh hưởng đến hiệu suất.

8. Tôn trọng người dùng với prefers-reduced-motion

Không phải ai cũng thích hiệu ứng động! Hãy tôn trọng tùy chọn của người dùng bằng cách sử dụng prefers-reduced-motion.

@media (prefers-reduced-motion: reduce) {
  .animated-element {
    animation: none;
  }
}

Giúp website thân thiện hơn với tất cả người dùng!

9. Debug như chuyên gia với console.table()

Chán ngấy với console.log() lộn xộn? Hãy dùng console.table() để hiển thị dữ liệu một cách trực quan!

const users = [
  { name: 'Alice', age: 25 },
  { name: 'Bob', age: 30 }
];

console.table(users);

Debugging chưa bao giờ dễ dàng và gọn gàng đến thế!

10. Tùy chỉnh thanh cuộn (Scrollbar) với CSS

Muốn website trông mượt mà và chuyên nghiệp hơn? Hãy tùy chỉnh thanh cuộn!

::-webkit-scrollbar {
  width: 12px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 6px;
}

::-webkit-scrollbar-thumb:hover {
  background: #555;
}

Một thanh cuộn được tùy chỉnh có thể giúp website của bạn trông hiện đại và tinh tế hơn!

Tổng kết

Những mẹo trên không chỉ giúp cải thiện hiệu suất và trải nghiệm người dùng, mà còn giúp bạn viết code nhanh hơn, gọn hơn và chuyên nghiệp hơn!

Cảm ơn các bạn đã theo dõi


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí