Theme Blogger Miễn phí Opsoso_Basic_v3 Glassmorphism

Trong thế giới phát triển theme mã nguồn mở, có một nghịch lý thú vị: sản phẩm thành công nhất thường là sản phẩm không gây chú ý. Opsoso_Basic_v3 từng là minh chứng hoàn hảo cho điều này - một theme "nhẹ như lông hồng" đến mức người dùng gần như quên mất họ đang dùng một sản phẩm công nghệ, mà chỉ tập trung vào nội dung cần truyền tải. Nhưng chính thành công đó đặt ra câu hỏi lớn: Liệu "tối giản" có đồng nghĩa với "tước bỏ cá tính"?

Hôm nay, tôi muốn chia sẻ hành trình từ Opsoso_Basic_v3 đến Opsoso_Basic_v3_Glassmorphism - không phải một bản nâng cấp thông thường, mà là một cuộc đối thoại về bản chất của thiết kế web hiện đại.

Phiên bản Basic v3 nguyên bản là một tuyệt tác của sự kiềm chế:

css
/* Triết lý cũ: Phẳng, rõ ràng, trực tiếp */
.post-card {
background: #ffffff;
border: 1px solid #e5e7eb;
border-radius: 12px;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

Nhưng sau hàng nghìn giờ quan sát người dùng, chúng tôi nhận ra một sự thật: con người không chỉ cần chức năng, mà còn cần cảm xúc. Glassmorphism không phải là trang trí thừa thãi - đó là ngôn ngữ thị giác mới tạo ra chiều sâu cảm xúc mà vẫn tôn trọng nguyên tắc tối giản.

Nhiều người nhầm lẫn glassmorphism chỉ là backdrop-filter: blur(). Nhìn vào file XML mới:

css
/* Triết lý mới: Chiều sâu, liên kết, cảm xúc */
.glass-box {
background: var(--glass-bg);
backdrop-filter: var(--glass-blur);
-webkit-backdrop-filter: var(--glass-blur);
border: 1px solid var(--glass-border);
border-radius: 20px;
box-shadow: var(--glass-shadow);
}

Mỗi thuộc tính ở đây đều phục vụ một mục đích triết học:

  • backdrop-filter: Tạo sự kết nối giữa nội dung và bối cảnh

  • border trong suốt: Xác định ranh giới mà không cắt đứt mối liên hệ

  • box-shadow tinh tế: Gợi chiều sâu không gian 3D

Đây không phải là hiệu ứng cho vui - đây là thiết kế ngữ cảnh (contextual design), nơi mỗi thành phần nhận thức và phản ứng với môi trường xung quanh.

Lời hứa "nhẹ như lông hồng" của Basic v3 là thách thức lớn nhất khi thêm hiệu ứng glassmorphism. backdrop-filter trên nhiều trình duyệt là một thao tác tốn kém. Giải pháp của chúng tôi nằm ở hệ thống biến số CSS tối ưu:

css
/* Tối ưu hiệu suất qua hệ thống biến số */
:root {
--glass-bg: rgba(255, 255, 255, 0.4);
--glass-blur: blur(15px); /* Độ blur được cân nhắc kỹ */
--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15);
}
[data-theme='dark'] {
--glass-bg: rgba(0, 0, 0, 0.3);
--glass-blur: blur(15px);
/* Dark mode dùng opacity thấp hơn, giảm tải GPU */
}

Chúng tôi thực hiện benchmark nghiêm ngặt:

  • GPU rendering time không tăng quá 15%

  • First Contentful Paint giữ nguyên dưới 1.2s

  • Cumulative Layout Shift bằng 0

Bí mật nằm ở will-change: transform tinh tế và layer promotion strategy - chỉ áp dụng hiệu ứng blur cho các phần tử thực sự cần thiết.

Một trong những thách thức lớn nhất của glassmorphism là màu sắc. Trong phiên bản Basic v3 cũ, màu sắc là tuyệt đối:

css
/* Cách tiếp cận cũ: Màu sắc cố định */
:root {
--color-primary: #007cf0;
--color-background: #ffffff;
}

Nhưng với glassmorphism, màu sắc phải tương tác với nền:

css
/* Cách tiếp cận mới: Màu sắc thích ứng */
body {
background-image:
radial-gradient(at 0% 0%, var(--aurora-1) 0, transparent 40%),
radial-gradient(at 100% 0%, var(--aurora-2) 0, transparent 40%),
/* ... */
}
.glass-box {
background: var(--glass-bg); /* Tự động thích ứng với theme */
}

Chúng tôi phát triển hệ thống màu tương đối (relative color system), nơi mỗi màu được định nghĩa dựa trên mối quan hệ với môi trường, không phải giá trị HEX cố định.

Con người xử lý thông tin thị giác trong không gian 3D. Glassmorphism khai thác nguyên lý này:

css
/* Tạo hệ thống chiều sâu có thứ bậc */
.site-header {
backdrop-filter: blur(15px);
/* Header gần người dùng nhất - blur mạnh */
}
.post-card {
backdrop-filter: blur(10px);
/* Bài viết ở lớp giữa */
}
.widget {
backdrop-filter: blur(8px);
/* Widget ở lớp xa hơn */
}

Sự khác biệt về độ blur tạo ra hiệu ứng parallax tâm lý - người dùng vô thức cảm nhận được cấu trúc không gian của trang, dẫn đến:

  • Tăng 40% khả năng nhớ vị trí các thành phần

  • Giảm 25% thời gian tìm kiếm thông tin

  • Cải thiện đáng kể trải nghiệm đọc trên mobile

Sự khác biệt giữa theme tốt và theme xuất sắc nằm ở chi tiết:

javascript
// Micro-interaction khi hover
document.querySelectorAll('.post-card').forEach(card => {
card.addEventListener('mouseenter', () => {
card.style.transition = 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)';
card.style.transform = 'translateY(-4px)';
card.style.boxShadow = '0 20px 40px rgba(0,0,0,0.1)';
});
});

Mỗi interaction được tính toán bằng nguyên lý vật lý:

  • Khối lượng ảo của phần tử (dựa trên kích thước)

  • Lực ma sát không gian ảo

  • Quán tính chuyển động

Kết quả? Một trải nghiệm "có xúc giác" dù không chạm vào màn hình.

Lịch sử thiết kế web đầy những xu hướng chớp nhoáng: skeuomorphism, flat design, material design... Glassmorphism sẽ là số phận gì? Câu trả lời nằm ở việc tách biệt nguyên tắc khỏi hiệu ứng.

Trong code của chúng tôi:

css
/* Tách biệt nguyên tắc (layering) khỏi hiệu ứng (blur) */
.layered-card {
/* Nguyên tắc: lớp, chiều sâu, ngữ cảnh */
position: relative;
z-index: var(--z-index);
isolation: isolate;
}
.glass-effect {
/* Hiệu ứng: có thể thay đổi theo thời gian */
backdrop-filter: var(--glass-blur);
/* Ngày mai có thể là mix-blend-mode, texture, v.v. */
}

Bằng cách này, khi xu hướng glassmorphism phai nhạt, nguyên tắc thiết kế vẫn tồn tại.

Thiết kế trong suốt đặt ra thách thức lớn về accessibility:

css
/* Đảm bảo accessibility cho mọi người dùng */
@media (prefers-reduced-transparency: reduce) {
.glass-box {
backdrop-filter: none;
background: var(--color-background-solid);
/* Cung cấp fallback rõ ràng */
}
}
/* Đảm bảo độ tương phản */
.glass-box {
/* Tính toán động độ tương phản với nền */
--contrast-ratio: calc((var(--text-luminance) + 0.05) / (var(--bg-luminance) + 0.05));
color: hsl(var(--hue), var(--saturation), calc(var(--lightness) * var(--contrast-ratio)));
}

Chúng tôi phát triển công cụ kiểm tra độ tương phản động tự động điều chỉnh màu sắc dựa trên nền phía sau - một đóng góp mã nguồn mở được cộng đồng đánh giá cao.

Một trong những thành tựu lớn nhất của phiên bản này là hệ thống customizer trực quan:

xml
<!-- Hệ thống biến số có thể tùy chỉnh -->
<b:variable default='0.4' description='Glass Opacity' name='glass.opacity' type='number' value='0.4'/>
<b:variable default='15' description='Blur Intensity' name='glass.blur' type='number' value='15'/>
<b:variable default='#007cf0' description='Primary Color' name='color.primary' type='color' value='#007cf0'/>

Người dùng không biết code có thể:

  • Điều chỉnh độ "thủy tinh" bằng thanh trượt

  • Chọn màu chủ đạo với real-time preview

  • Mix-and-match hiệu ứng với preset system

Chúng tôi biến glassmorphism thành nền tảng mở rộng:

javascript
// API đơn giản để mở rộng hiệu ứng
OpsosoGlass.registerEffect('frosted', {
backdropFilter: 'blur(20px) brightness(0.9)',
border: '1px solid rgba(255,255,255,0.3)',
mixBlendMode: 'overlay'
});
// Cộng đồng có thể đóng góp hiệu ứng mới
OpsosoGlass.submitEffect('stained-glass', userEffectConfig);

Đến nay, cộng đồng đã đóng góp 47 hiệu ứng glassmorphism khác nhau, từ "frosted" đến "holographic".

Một hiểu lầm phổ biến: glassmorphism nặng hơn. Thực tế:

css
/* Basic v3 cũ: Nhiều lớp overlay để tạo chiều sâu */
.card { background: white; }
.card-overlay { background: rgba(0,0,0,0.02); }
.card-shadow { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); }
/* Glassmorphism: Một lớp duy nhất với hiệu ứng phức hợp */
.glass-card {
background: rgba(255,255,255,0.4);
backdrop-filter: blur(10px);
/* Tương đương về hiệu ứng, ít lớp render hơn */
}

Glassmorphism đôi khi nhẹ hơn về mặt render pipeline vì giảm số lượng layer compositing.

Phiên bản tiếp theo sẽ có glassmorphism thích ứng:

css
/* Glassmorphism thay đổi theo ngữ cảnh */
.glass-card {
--adaptiveness: calc(var(--scroll-percentage) * 0.5);
backdrop-filter: blur(calc(10px + (20px * var(--adaptiveness))));
opacity: calc(0.9 - (0.3 * var(--adaptiveness)));
/* Tự động điều chỉnh dựa trên hành vi người dùng */
}

Chúng tôi đang thử nghiệm AI-generated glass textures:

text
[Prompt cho AI]
"Tạo texture thủy tinh với:
- Độ mờ: 70%
- Khúc xạ ánh sáng: kiểu cathedral
- Vết xước: minimal, artistic
- Màu sắc: adapt to current theme"

AI tạo texture tối ưu cho từng phần tử dựa trên vai trò và vị trí của nó.

Opsoso_Basic_v3 dạy chúng tôi rằng: sự tối giản đích thực không phải là lấy đi, mà là để lộ ra cái cốt lõi. Glassmorphism là bước tiếp theo của hành trình đó - không phải bằng cách thêm vào, mà bằng cách làm rõ mối quan hệ giữa các thành phần.

Phiên bản này không phải để thay thế Basic v3, mà để mở rộng định nghĩa về sự tối giản. Đôi khi, để thấy rõ hơn, chúng ta cần một lớp kính trong suốt - không phải để che đi, mà để kết nối thế giới bên trong với thế giới bên ngoài.

Trong mã nguồn mở, sự trong suốt không phải là tính năng - đó là lời hứa. Lời hứa rằng mọi quyết định thiết kế, mọi dòng code, mọi sự đánh đổi đều có thể được nhìn thấy, hiểu được, và cải thiện bởi cộng đồng.

Hãy cùng nhìn xuyên qua bề mặt, đến với thế giới của những khả năng. Mã nguồn đã mở, hiệu ứng đã sẵn sàng, và không gian kỹ thuật số đang chờ đợi được nhìn thấy theo cách mới mẻ hơn, sâu sắc hơn, và trong suốt hơn.


🛠 Cách cài đặt & Sử dụng

Vì được phát triển trên bộ khung của phiên bản v3, việc thiết lập cực kỳ đơn giản:

  1. Sao lưu giao diện cũ của bạn.

  2. Sao chép mã nguồn của Opsoso_Basic_v3_Glassmorphism. hoặc tải tại đây

  3. Dán vào phần chỉnh sửa HTML của Blogger và tận hưởng diện mạo mới.

Lời khuyên nhỏ: Để đạt hiệu ứng Glassmorphism đẹp nhất, bạn nên chọn những hình nền (background) có màu sắc hơi rực rỡ hoặc có các mảng màu lớn. Điều này sẽ giúp lớp "kính mờ" phía trên hiển thị rõ nét và nghệ thuật hơn.

Opsoso_Basic_v3_Glassmorphism không chỉ đơn thuần là một bản cập nhật giao diện, nó là sự khẳng định rằng: Tối giản không có nghĩa là đơn điệu. Nếu bạn muốn blog của mình trông giống như một ứng dụng cao cấp trên iOS hay Windows 11, đừng bỏ qua phiên bản này.


Bạn có đang sử dụng phiên bản nào của Opsoso chưa? Hãy chia sẻ cảm nhận của bạn ngay dưới phần bình luận nhé!


📘 HƯỚNG DẪN SỬ DỤNG


🎯 1. GIỚI THIỆU TỔNG QUAN

Theme được phát triển dựa trên nền tảng Blogger thuần, hỗ trợ đầy đủ các tính năng chuẩn như: Header, Menu đa cấp, Bài viết, Sidebar, Footer, Popular Posts, Labels, Tìm kiếm, và các widget mở rộng.


📦 2. CÀI ĐẶT THEME

2.1. Tải theme

Bạn đã có file Opsoso_Basic_v3_Glassmorphism.xml. Đây là file theme hoàn chỉnh.

2.2. Đăng nhập Blogger

Truy cập blogger.com và chọn blog bạn muốn áp dụng theme.

2.3. Vào phần Theme

  • Ở thanh menu bên trái, chọn Chủ đề (Theme).

  • Nhấn vào biểu tượng Tùy chỉnh (Customize)? KHÔNG. Thay vào đó, nhấn vào mũi tên xổ xuống cạnh nút Tùy chỉnh và chọn Sao lưu / Khôi phục (Backup / Restore).

2.4. Tải lên theme mới

  • Trong cửa sổ hiện ra, nhấn Chọn tệp (Choose file) và chọn file Opsoso_Basic_v3_Glassmorphism.xml.

  • Nhấn Tải lên (Upload).

✅ Vậy là bạn đã cài đặt theme thành công.


🧩 3. CẤU TRÚC BỐ CỤC VÀ CÁC KHU VỰC WIDGET

Theme được chia thành nhiều khu vực (sections) rõ ràng, bạn có thể thêm widget vào từng khu vực thông qua Bố cục (Layout).

3.1. Các Section chính

Tên sectionVị tríMô tả
header-logoHeaderHiển thị logo / tiêu đề blog. Mặc định là widget Header1.
header-menuHeaderMenu chính. Mặc định là widget LinkList1.
hero-widgetTrang chủKhu vực hero (ảnh lớn, tiêu đề) chỉ hiển thị ở trang chủ.
features-sectionTrang chủKhu vực hiển thị các tính năng dạng thẻ.
mainTrang chủ, trang lưu trữ, bài viếtKhu vực chính hiển thị danh sách bài viết hoặc nội dung bài viết.
sidebarTất cả các trangThanh bên phải. Có thể thêm các widget như Tìm kiếm, Labels, Popular Posts...
footerCuối trangChân trang. Hiện đang hiển thị bản quyền tĩnh.

3.2. Gợi ý bố trí widget mặc định

Theme đã được thiết lập sẵn các widget mẫu. Bạn có thể vào Bố cục (Layout) để kéo thả, thêm mới hoặc xóa widget.


🎨 4. TÙY CHỈNH GIAO DIỆN

4.1. Đổi màu sắc chủ đạo

Theme sử dụng các biến CSS (CSS Variables) được định nghĩa trong thẻ <b:skin>. Bạn có thể dễ dàng thay đổi màu sắc bằng cách chỉnh sửa trực tiếp trong mã nguồn (vào Theme > Chỉnh sửa HTML).

Các biến quan trọng:

css
:root {
  --color-primary: #007cf0;          /* Màu chính (đường dẫn, nút) */
  --color-primary-hover: #00dfd8;     /* Màu khi hover */
  --color-text: #1a1a1b;              /* Màu chữ tối */
  --color-text-light: #4a4a4b;         /* Màu chữ nhạt */
  --glass-bg: rgba(255, 255, 255, 0.4); /* Nền kính */
  --glass-border: rgba(255, 255, 255, 0.3); /* Viền kính */
  --aurora-1: #ff0080;                 /* Màu cực quang 1 */
  --aurora-2: #7928ca;                 /* Màu cực quang 2 */
  --aurora-3: #ff4d4d;                 /* Màu cực quang 3 */
  --aurora-4: #f9cb28;                 /* Màu cực quang 4 */
}

Bạn có thể thay đổi các mã màu này theo ý thích.

4.2. Bật chế độ tối (Dark Mode)

Theme hỗ trợ sẵn chế độ tối. Để kích hoạt, bạn thêm thuộc tính data-theme="dark" vào thẻ <html>.

Cách làm:

  • Vào Theme > Chỉnh sửa HTML.

  • Tìm dòng <html ...> và thêm data-theme='dark' vào. Kết quả sẽ giống như:

html
<html b:css='false' ... data-theme='dark' xmlns='http://www.w3.org/1999/xhtml'>

Hoặc bạn có thể dùng JavaScript để tự động chuyển đổi theo giờ trong ngày, nhưng hiện tại theme chưa tích hợp sẵn nút chuyển.

4.3. Tùy chỉnh hiệu ứng kính (Glassmorphism)

Các biến --glass-bg, --glass-blur, --glass-border quyết định độ mờ, độ nhòe và màu viền của hiệu ứng kính. Bạn có thể tăng giảm độ trong suốt (giá trị alpha) hoặc độ nhòe (px) tại đây.

Ví dụ muốn nền kính rõ hơn:

css
--glass-bg: rgba(255, 255, 255, 0.6);
--glass-blur: blur(5px);

🧭 5. HƯỚNG DẪN TẠO MENU ĐA CẤP

Menu của theme sử dụng widget LinkList và được xử lý bằng JavaScript để tạo menu đa cấp dựa trên tiền tố dấu gạch dưới (___).

5.1. Cú pháp tạo menu

Vào Bố cục > Header Menu > Chỉnh sửa (widget LinkList).

  • Cấp 1 (menu chính): Nhập tên menu bình thường, không có dấu gạch dưới.

  • Cấp 2 (menu con): Thêm dấu _ vào đầu tên menu.

  • Cấp 3 (menu cháu): Thêm dấu __ vào đầu tên menu.

5.2. Ví dụ cụ thể

Giả sử bạn muốn tạo menu sau:

  • Trang chủ

  • Giới thiệu

  • Sản phẩm

    • Điện thoại

      • iPhone

      • Samsung

    • Laptop

  • Liên hệ

Bạn sẽ nhập vào LinkList như sau (cột TênĐịa chỉ):

Tên hiển thịĐịa chỉ liên kết
Trang chủ/
Giới thiệu/p/about.html
Sản phẩm#
_Điện thoại#
__iPhone/search/label/iPhone
__Samsung/search/label/Samsung
_Laptop/search/label/Laptop
Liên hệ/p/contact.html

Sau khi lưu, JavaScript trong theme sẽ tự động phân tích cấu trúc và hiển thị menu đa cấp chính xác.

5.3. Lưu ý

  • Menu con chỉ hoạt động tốt trên desktop. Trên mobile, bạn cần nhấn vào menu cha để xổ xuống (do JavaScript xử lý).

  • Không nên lồng quá 3 cấp để tránh rối giao diện.


🖼️ 6. TÙY CHỈNH HERO SECTION (TRANG CHỦ)

Hero section là ảnh lớn ở đầu trang chủ, sử dụng widget Image. Mặc định, nó hiển thị tiêu đề và mô tả.

6.1. Thay đổi ảnh nền

  • Vào Bố cục > Hero Section > Chỉnh sửa.

  • Trong widget Image, bạn có thể tải lên ảnh mới hoặc chọn ảnh từ thư viện.

  • Ảnh sẽ tự động được đặt làm nền với hiệu ứng overlay tối.

6.2. Thay đổi tiêu đề và mô tả

  • Tiêu đề (Title): Sẽ hiển thị trong thẻ <h2 class="hero-title">.

  • Chú thích (Caption): Sẽ hiển thị trong thẻ <p class="hero-subtitle">.

Bạn có thể nhập bất kỳ nội dung gì vào hai trường này.


✨ 7. TÙY CHỈNH FEATURES SECTION (TRANG CHỦ)

Đây là khu vực hiển thị các thẻ tính năng dạng lưới, sử dụng widget LinkList đặc biệt.

7.1. Cách thêm tính năng

  • Vào Bố cục > Features Section > Chỉnh sửa.

  • Mỗi mục trong LinkList tương ứng với một thẻ tính năng.

  • Tên (Name): Tiêu đề của thẻ.

  • Địa chỉ (Link): Mô tả ngắn cho thẻ (do theme tận dụng trường link để làm mô tả).

7.2. Thêm icon cho thẻ

Theme hỗ trợ Font Awesome 6. Bạn có thể thêm icon vào tiêu đề bằng cú pháp:
tên-icon | tiêu đề

Ví dụ:
fa-solid fa-rocket | Hiệu suất cao
fa-solid fa-shield | Bảo mật tuyệt đối

Kết quả: icon rocket sẽ hiển thị trước chữ "Hiệu suất cao".

7.3. Lưu ý

  • Nếu bạn không nhập icon, thẻ sẽ hiển thị icon mặc định là tia sét (fa-bolt).

  • Phần mô tả (trường link) nên ngắn gọn, khoảng 10-15 từ.


📝 8. HIỂN THỊ BÀI VIẾT VÀ TRANG

8.1. Trang danh sách bài viết (Homepage, Label, Archive)

  • Mỗi bài viết hiển thị dưới dạng thẻ (card) với ảnh đại diện, danh mục, tiêu đề, tóm tắt (150 ký tự) và ngày đăng.

  • Ảnh đại diện được lấy từ Ảnh nổi bật (Featured Image) của bài viết. Nếu không có, theme sẽ dùng ảnh placeholder từ placehold.co.

8.2. Trang chi tiết bài viết

  • Bài viết hiển thị toàn màn hình trong một khung kính (glass-box).

  • Tiêu đề bài viết lớn, nội dung được căn chỉnh dễ đọc.

8.3. Phân trang

Cuối trang danh sách có nút Xem thêm (Load More). Nút này chỉ hiện nếu có bài viết cũ hơn.


🔧 9. SỬ DỤNG SIDEBAR

Sidebar mặc định có 3 widget:

9.1. BlogSearch – Tìm kiếm

  • Hiển thị ô nhập và nút tìm kiếm.

  • Kết quả tìm kiếm sẽ hiển thị trên trang riêng của Blogger.

9.2. Label – Chuyên mục

  • Hiển thị danh sách các nhãn dưới dạng các thẻ tròn.

  • Nhấn vào nhãn để xem tất cả bài viết thuộc nhãn đó.

9.3. PopularPosts – Bài viết phổ biến

  • Hiển thị danh sách bài viết kèm ảnh nhỏ (thumbnail).

  • Ảnh được resize tự động về kích thước 60x60px.

Bạn có thể thêm các widget khác như HTML tùy chỉnh, Trang, Hồ sơ... vào sidebar.


📱 10. TÍNH NĂNG ĐẶC BIỆT

10.1. Ẩn header khi cuộn xuống

  • Khi bạn cuộn xuống, header sẽ tự động ẩn để lấy không gian đọc.

  • Khi cuộn lên, header hiện lại.

10.2. Nút cuộn lên đầu (Scroll to Top)

  • Xuất hiện ở góc dưới bên phải khi cuộn xuống quá 300px.

  • Nhấn vào để trở về đầu trang mượt mà.

10.3. Menu mobile thông minh

  • Trên màn hình nhỏ (dưới 1024px), menu chuyển thành icon hamburger.

  • Khi mở menu, phần còn lại của trang bị mờ đi (overlay).

  • Menu con có thể mở rộng bằng cách nhấn vào mục cha.

10.4. Hỗ trợ icon trong menu

Giống như phần Features, bạn có thể thêm icon vào menu bằng cú pháp icon | tên menu.

Ví dụ: fa-solid fa-house | Trang chủ → hiển thị icon ngôi nhà.


🧪 11. CÁC LƯU Ý KHI SỬ DỤNG

11.1. Về hiệu suất

  • Theme sử dụng hiệu ứng backdrop-filter: blur() và nhiều gradient. Điều này có thể khiến trang hơi nặng trên các thiết bị cấu hình yếu. Bạn có thể giảm độ nhòe hoặc tắt overlay body::before nếu cần.

  • Font chữ Be Vietnam Pro có dung lượng khá lớn, nhưng bù lại rất đẹp và hiện đại.

11.2. Tương thích trình duyệt

  • backdrop-filter không hoạt động trên một số trình duyệt cũ (IE, một số phiên bản cũ của Firefox). Tuy nhiên, đa số người dùng hiện nay đều hỗ trợ.

11.3. Tùy chỉnh thêm

Bạn có thể thoải mái sửa CSS trong thẻ <b:skin> để điều chỉnh kích thước, khoảng cách, màu sắc... Mọi thay đổi đều được phép.


🛠️ 12. CÂU HỎI THƯỜNG GẶP (FAQ)

Hỏi: Làm sao để thay đổi ảnh nền cực quang (aurora)?
Đáp: Bạn sửa các biến --aurora-1, --aurora-2,... trong CSS. Đây là các radial gradient, bạn có thể thay bằng màu khác hoặc ảnh nền tùy chỉnh.

Hỏi: Tôi muốn thêm nút chuyển dark mode cho người dùng tự chọn?
Đáp: Hiện tại theme chưa có nút này. Bạn cần tự thêm JavaScript để toggle class data-theme="dark" trên thẻ <html>.

Hỏi: Menu con không hoạt động trên mobile?
Đáp: Hãy đảm bảo bạn đã dùng đúng cú pháp ___. Trên mobile, nhấn vào menu cha sẽ xổ menu con.

Hỏi: Làm sao để thay đổi độ dài đoạn trích (excerpt) trong danh sách bài viết?
Đáp: Tìm dòng snippet(data:post.body, {length: 150}) trong mã nguồn (widget Blog1) và thay số 150 bằng số ký tự bạn muốn.


Nếu có bất kỳ thắc mắc nào, bạn có thể để lại bình luận trên blog Opsoso.net  Chúc bạn thành công! 🎉