Blog Tĩnh #04 – Tạo Dark Mode đơn giản bằng CSS, không cần JavaScript

Dark Mode không chỉ là xu hướng – nó còn giúp giảm mỏi mắt, tiết kiệm pin và cải thiện UX tổng thể. Tin vui là bạn hoàn toàn có thể thêm Dark Mode cho blog tĩnh chỉ bằng vài dòng CSS – không cần JavaScript, không cần plugin.

Blog Tĩnh #04 – Tạo Dark Mode đơn giản bằng CSS, không cần JavaScript

1. Cách hoạt động

Trình duyệt hiện đại đều hỗ trợ @media (prefers-color-scheme: dark), tức là sẽ tự áp dụng CSS nếu người dùng bật dark mode trong hệ điều hành hoặc trình duyệt.

2. Cấu trúc CSS cơ bản

/* Style mặc định (light mode) */
body {
  background: #fff;
  color: #111;
}

/* Dark mode tự động */
@media (prefers-color-scheme: dark) {
  body {
    background: #111;
    color: #eee;
  }

  a {
    color: #80c0ff;
  }

  header, footer {
    border-color: #333;
  }
}

3. Những gì nên đổi trong Dark Mode

  • Background: nền tối (#111, #222, #1a1a1a…)
  • Text: màu sáng nhẹ (#eee, #ccc)
  • Link: dùng màu tươi hơn nhưng không quá chói
  • Border, shadow, icon… nên giảm sáng/contrast

4. Mẹo mở rộng (optional)

Nếu bạn muốn cho người dùng tự chọn dark/light, thì có thể dùng class:

<body class="dark">
body.dark {
  background: #111;
  color: #eee;
}
/* ...v.v... */

Rồi lưu chọn lựa vào localStorage bằng JavaScript nhỏ gọn nếu cần (phần này sẽ viết riêng nếu bro yêu cầu). Tuy nhiên, nếu chỉ dùng `prefers-color-scheme` thì hoàn toàn không cần JS – đủ cho blog cá nhân.

5. Cách kiểm tra Dark Mode

  • Dùng DevTools → tab Rendering → override “prefers-color-scheme”
  • Hoặc bật Dark Mode trong OS hoặc trình duyệt (Chrome, Firefox…)

Dark Mode không cần framework – không cần JS. Chỉ với vài dòng CSS, bạn đã có một giao diện linh hoạt hơn, hiện đại hơn, và thân thiện với người đọc hơn – đặc biệt là những người hay đọc blog vào ban đêm như chính bạn vậy 😎

Chúc bạn thêm Dark Mode thành công, sạch, gọn, đúng chất blog tĩnh!

Bình luận


  • Không có bình luận.

Init Toolbox

Nhấn Ctrl + \ trên máy tính, hoặc vuốt sang trái ở bất kỳ đâu trên mobile.

Đăng nhập





Đang tải...