Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Ôn tập: Trong bài học trước, bạn đã học về Semantic HTML — nền tảng cho các trang web dễ truy cập và thân thiện với SEO. Bây giờ, hãy cùng tạo kiểu cho những trang đó bằng CSS hiện đại, đáp ứng, dễ bảo trì và thân thiện với AI.
CSS hiện đại mạnh mẽ hơn rất nhiều so với vài năm trước. Grid, Flexbox, Container Queries, thuộc tính tùy chỉnh và các lớp xếp tầng giải quyết những vấn đề trước đây cần JavaScript hoặc các thủ thuật phức tạp. AI tạo CSS tốt — nhưng thường mặc định sử dụng các mẫu cũ hơn khi có những giải pháp hiện đại.
Định nghĩa một lần, sử dụng ở mọi nơi:
📍 Nơi dán: Mở ChatGPT (chat.openai.com), Claude (claude.ai) hoặc Gemini (gemini.google.com) và bắt đầu một cuộc trò chuyện mới.
:root {
/* Colors */
--color-primary: #3b82f6;
--color-text: #1f2937;
--color-bg: #ffffff;
--color-border: #e5e7eb;
/* Spacing (8px base scale) */
--space-1: 0.25rem; /* 4px */
--space-2: 0.5rem; /* 8px */
--space-4: 1rem; /* 16px */
--space-6: 1.5rem; /* 24px */
--space-8: 2rem; /* 32px */
/* Typography */
--text-sm: 0.875rem;
--text-base: 1rem;
--text-lg: 1.125rem;
--text-xl: 1.25rem;
/* Other */
--radius-md: 0.5rem;
--shadow-sm: 0 1px 2px rgb(0 0 0 / 5%);
}
📍 Nơi dán: Mở ChatGPT (chat.openai.com), Claude (claude.ai) hoặc Gemini (gemini.google.com) và bắt đầu một cuộc trò chuyện mới.
📋 Cách sao chép prompt này: Nhấp vào bất kỳ đâu bên trong khối màu xám, nhấn Cmd+A rồi Cmd+C (Mac) hoặc Ctrl+A rồi Ctrl+C (Windows). Hoặc sử dụng biểu tượng sao chép xuất hiện.
👀 Những gì bạn sẽ thấy: Trong vòng vài giây, AI sẽ trả về một phản hồi có cấu trúc dựa vào prompt ở trên. Hãy đọc kỹ và coi đó là bản nháp, không phải câu trả lời cuối cùng.
Prompt AI để trích xuất token:
Phân tích file CSS này và trích xuất tất cả các giá trị được hardcode thành những thuộc tính tùy chỉnh CSS. Nhóm thành: màu sắc, khoảng cách, kiểu chữ, đường viền, bóng. Đặt tên cho các token một cách mô tả (--color-primary, --space-4, --text-lg). Hiển thị định nghĩa token và CSS đã được chỉnh sửa lại.✏️ Cách điền thông tin chi tiết của bạn: Thay thế mỗi [] và trình giữ chỗ trong ngoặc bằng thông tin cụ thể từ tình huống thực tế của bạn. Thông tin đầu vào mơ hồ sẽ tạo ra kết quả mơ hồ — hãy cụ thể.
👀 Những gì bạn sẽ thấy: Trong vòng vài giây, AI sẽ trả về một phản hồi có cấu trúc dựa vào prompt ở trên. Hãy đọc kỹ và coi đó là bản nháp, không phải câu trả lời cuối cùng.
📌 Những việc cần làm với kết quả: Lưu phản hồi vào file Notes. Chọn gợi ý có tác động cao nhất và thực hiện nó trong tuần này — đừng cố gắng làm tất cả cùng một lúc.
⚠️ Nếu kết quả không ổn: Nếu các gợi ý có vẻ chung chung, hãy dán nội dung sau: "Hãy cụ thể hơn với ngữ cảnh thực tế của tôi. Bỏ qua lời khuyên chung chung." Nếu nó bỏ qua các chi tiết quan trọng bạn đã cung cấp, hãy hỏi: "Bạn đã bỏ sót [X] trong ngữ cảnh của tôi — hãy thực hiện lại với điều đó làm ràng buộc chính."
css
.card-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: var(--space-4);
}.page-layout {
display: grid;
grid-template-columns: minmax(250px, 300px) 1fr;
gap: var(--space-6);
}
@media (max-width: 768px) {
.page-layout {
grid-template-columns: 1fr;
}
}
.nav {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-4);
}
| Trường hợp sử dụng | Công cụ tốt nhất | Lý do |
| Lưới thẻ | Grid | Bố cục 2D với khoảng cách đều đặn |
| Thanh điều hướng | Flexbox | Sự sắp xếp 1D với phân bố không gian |
| Bố cục trang | Grid | Các khu vực được đặt tên, thanh bên + trang chính |
| Nhóm nút | Flexbox | Căn chỉnh nội tuyến |
| Dashboard | Grid | Các sắp xếp 2D phức tạp |
| Căn giữa | Một trong hai | Grid: place-items: center, Flex: justify-content: center; align-items: center |
Các thành phần phản hồi theo container của chúng, chứ không phải viewport:
.card-container {
container-type: inline-size;
}
.card {
/* Default: compact layout */
display: flex;
flex-direction: column;
}
@container (min-width: 400px) {
.card {
/* Wide layout: horizontal */
flex-direction: row;
}
}
Prompt AI về Container Queries:
Tái cấu trúc các truy vấn media của thành phần này để sử dụng Container Queries. Thành phần nên thích ứng dựa trên chiều rộng container của nó, chứ không phải viewport. Hiển thị thiết lập container-type và các quy tắc @container thay thế @media./* Light mode (default) */
:root {
--color-text: #1f2937;
--color-bg: #ffffff;
--color-border: #e5e7eb;
}
/* Dark mode */
@media (prefers-color-scheme: dark) {
:root {
--color-text: #f3f4f6;
--color-bg: #111827;
--color-border: #374151;
}
}
Vì tất cả CSS của bạn sử dụng var(--color-text) thay vì #1f2937, Dark Mode hoạt động bằng cách thay đổi giá trị token — không cần sao chép CSS.
✅ Kiểm tra nhanh: AI tạo bố cục đáp ứng bằng cách sử dụng width: 33.333% trên các phần tử con. Giải pháp thay thế hiện đại là gì?
Đáp án: display: grid; grid-template-columns: repeat(3, 1fr); — hoặc tốt hơn nữa, repeat(auto-fill, minmax(250px, 1fr)) để có hành vi tự động đáp ứng. Chiều rộng phần trăm không tính đến khoảng cách, yêu cầu các thủ thuật về lề và không thích ứng với những kích thước container khác nhau. Grid xử lý tất cả những điều này một cách tự nhiên.)
Các thuộc tính tùy chỉnh CSS (code thiết kế) là nền tảng của CSS dễ bảo trì: Xác định màu sắc, khoảng cách và kiểu chữ một lần trong :root, sử dụng var(--token-name) ở mọi nơi và bật Dark Mode bằng cách xác định lại các token trong @media (prefers-color-scheme: dark) — những thay đổi một dòng được lan truyền toàn hệ thống
CSS Grid với auto-fill và minmax() tạo bố cục thẻ đáp ứng chỉ trong một dòng mà trước đây cần hơn 20 dòng CSS dựa trên float, và hỗ trợ các thẻ có chiều cao bằng nhau, khoảng cách nhất quán và tự động xuống dòng mà không cần truy vấn media
Container Queries cho phép các thành phần phản hồi theo chiều rộng của container thay vì viewport — giúp những thành phần thực sự có thể tái sử dụng trong các ngữ cảnh bố cục khác nhau (trang toàn chiều rộng, thanh bên, cửa sổ pop-up) mà không cần ghi đè cụ thể theo breakpoint.
Nguồn tin: Quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Làm sạch và chuẩn bị dữ liệu bảng tính với AI
Sử dụng hàm VLOOKUP, INDEX/MATCH và các kỹ thuật tra cứu nâng cao với AI
Cách sử dụng Claude Cowork để tự động kiểm tra và cải thiện kỹ năng làm việc với AI
Cách chế độ Voice Mode của ChatGPT giúp bạn hoàn thiện một ý tưởng mới
Hướng dẫn dùng plugin Remotion trên ChatGPT tạo video
Pivot Table và tóm tắt dữ liệu bảng tính với AI
Hướng dẫn thiết kế logo động bằng LogoAI
TOP các khóa học AI miễn phí có cấp chứng chỉ đáng tham gia
7 cách ứng dụng Gemini giúp sinh viên học tập hiệu quả
12 mẹo viết prompt tốt hơn cho Claude
TOP khóa học NotebookLM bổ ích đáng tham gia
Hướng dẫn dùng Hồ sơ doanh nghiệp Google trên Gemini
Cách tạo sổ ghi chú mới ngay trong Gemini
Cách viết hướng dẫn hiệu quả cho GPT tùy chỉnh
Các khả năng và thiết kế hội thoại khi xây dựng GPT tùy chỉnh
Các khả năng và thiết kế hội thoại khi xây dựng GPT tùy chỉnh
GPT Actions: Kết nối với các dịch vụ bên ngoài
TOP những cách tận dụng AI để tạo bài đăng trên mạng xã hội
TOP cách dùng Agentic AI hiệu quả trong thương mại điện tử và bán lẻ
Cách tạo video AI bằng Seedance 2.5 trên Dola AI
Công thức tính diện tích hình Elip
Hướng dẫn ngắt kết nối ứng dụng trên ChatGPT
Cách lập trình chuyên nghiệp hơn, dễ dàng hơn với tính năng Tệp trên Grok
Hướng dẫn cài đặt và sử dụng n8n trên Windows 11
8 ứng dụng Microsoft Store miễn phí giúp Windows tốt hơ
Hướng dẫn tạo đoạn hội thoại cho topic trên Twee
Bức tranh tổng quan về hỗ trợ khách hàng tích hợp AI
Đừng chia sẻ ảnh cho đến khi bạn chạy kiểm tra siêu dữ liệu này!
6 cách mở Computer/System Properties trong Windows 10
Cách sửa lỗi There Are Currently No Power Options Available Windows