Câu 1:Trong CSS, bộ chọn (selector) nào sau đây có trọng số ưu tiên (specificity) cao nhất theo tiêu chuẩn của W3C?
💡 Lời giải chi tiết:
Theo quy tắc tính trọng số của W3C, một bộ chọn ID luôn có mức ưu tiên cao hơn bất kỳ số lượng bộ chọn lớp hay bộ chọn thẻ nào. Kết luận Lý giải Bộ chọn ID (ví dụ: '#header')
Câu 2:Thuộc tính 'box-sizing: border-box' có tác dụng gì đối với việc tính toán kích thước của một phần tử?
💡 Lời giải chi tiết:
Giá trị 'border-box' buộc trình duyệt tính toán chiều rộng và chiều cao đã thiết lập bao hàm cả phần đệm và đường viền của phần tử đó. Kết luận Lý giải Kích thước width và height sẽ bao gồm cả padding và border
Câu 3:Để căn giữa các phần tử con theo trục chính (main axis) trong một container đang sử dụng 'display: flex', bạn sử dụng thuộc tính nào?
💡 Lời giải chi tiết:
Trong mô hình Flexbox, thuộc tính 'justify-content' được thiết kế để điều phối không gian và căn chỉnh các mục dọc theo trục chính của container. Kết luận Lý giải justify-content: center
Câu 4:Đơn vị 'rem' trong CSS được tính toán dựa trên giá trị kích thước phông chữ của thành phần nào?
💡 Lời giải chi tiết:
Đơn vị 'rem' viết tắt của 'root em', đại diện cho kích thước phông chữ được thiết lập tại phần tử gốc của tài liệu HTML. Kết luận Lý giải Phần tử gốc (thường là thẻ html)
Câu 5:Một phần tử có 'position: absolute' sẽ được định vị tương đối so với đối tượng nào sau đây?
💡 Lời giải chi tiết:
Phần tử 'absolute' sẽ tìm kiếm tổ tiên gần nhất có thuộc tính 'position' là 'relative', 'absolute', hoặc 'fixed' để làm mốc định vị. Kết luận Lý giải Phần tử tổ tiên gần nhất có thuộc tính position khác static
Câu 6:Để tạo ra một bố cục Grid có 3 cột với độ rộng bằng nhau, cú pháp nào sau đây là chính xác nhất?
💡 Lời giải chi tiết:
Sử dụng hàm 'repeat' kết hợp với đơn vị phân số '1fr' là cách tối ưu nhất để chia đều không gian cột trong CSS Grid. Kết luận Lý giải grid-template-columns: repeat(3, 1fr)
Câu 7:Thuộc tính 'z-index' chỉ có tác dụng khi phần tử đó được thiết lập thuộc tính 'position' nào?
💡 Lời giải chi tiết:
Theo tiêu chuẩn CSS, 'z-index' chỉ hoạt động trên các phần tử đã được định vị (positioned elements), tức là có giá trị position khác 'static'. Kết luận Lý giải Bất kỳ giá trị nào trừ 'static'
Câu 8:Sự khác biệt chính giữa 'display: none' và 'visibility: hidden' là gì?
💡 Lời giải chi tiết:
'display: none' làm phần tử biến mất và không chiếm không gian, trong khi 'visibility: hidden' ẩn phần tử nhưng vẫn giữ lại khoảng trống của nó. Kết luận Lý giải 'display: none' gỡ bỏ phần tử khỏi luồng tài liệu, 'visibility: hidden' thì không
Câu 9:Cách khai báo một biến CSS (Custom Property) nào sau đây là đúng quy tắc?
💡 Lời giải chi tiết:
Biến CSS phải được bắt đầu bằng hai dấu gạch ngang '--' và được truy cập thông qua hàm 'var()'. Kết luận Lý giải --main-color: #333;
Câu 10:Để chèn nội dung vào trước một phần tử bằng CSS mà không thay đổi HTML, bạn sử dụng thành phần nào?
💡 Lời giải chi tiết:
Phần tử giả '::before' cho phép tạo ra một nội dung ảo và chèn nó vào vị trí đầu tiên bên trong phần tử được chọn. Kết luận Lý giải Phần tử giả ::before
Câu 11:Thuộc tính nào dùng để điều chỉnh hình nền sao cho nó bao phủ toàn bộ vùng chứa mà không làm biến dạng tỷ lệ?
💡 Lời giải chi tiết:
Giá trị 'cover' đảm bảo hình nền luôn che phủ toàn bộ phần tử bằng cách co giãn hình ảnh trong khi vẫn giữ nguyên tỷ lệ khung hình. Kết luận Lý giải background-size: cover
Câu 12:Khi sử dụng thuộc tính 'transition', thông số nào sau đây là bắt buộc phải có để hiệu ứng có thể hoạt động?
💡 Lời giải chi tiết:
Nếu không xác định 'transition-duration' (thời gian diễn ra), giá trị mặc định sẽ là 0 và hiệu ứng chuyển cảnh sẽ không xuất hiện. Kết luận Lý giải transition-duration
Câu 13:Hàm 'calc()' trong CSS thường được sử dụng để làm gì?
💡 Lời giải chi tiết:
Hàm 'calc()' cho phép thực hiện các phép tính cộng, trừ, nhân, chia giữa các đơn vị đo lường khác nhau trong CSS. Kết luận Lý giải Thực hiện các phép tính toán học để xác định giá trị thuộc tính
Câu 14:Thuộc tính 'overflow: auto' có hành vi như thế nào khi nội dung vượt quá kích thước phần tử?
💡 Lời giải chi tiết:
Giá trị 'auto' thông minh hơn 'scroll' ở chỗ nó chỉ kích hoạt thanh cuộn nếu nội dung lớn hơn vùng chứa. Kết luận Lý giải Chỉ hiển thị thanh cuộn khi nội dung thực sự vượt quá kích thước
Câu 15:Cú pháp nào sau đây dùng để chọn tất cả các thẻ 'input' có thuộc tính 'type' là 'checkbox'?
💡 Lời giải chi tiết:
Bộ chọn thuộc tính (attribute selector) sử dụng dấu ngoặc vuông để nhắm mục tiêu chính xác các phần tử dựa trên giá trị thuộc tính của chúng. Kết luận Lý giải input[type='checkbox']
Câu 16:Trong quy tắc Cascade của CSS, từ khóa nào có thể được thêm vào sau một giá trị thuộc tính để nó có mức ưu tiên cao nhất?
💡 Lời giải chi tiết:
Từ khóa '!important' được sử dụng để ghi đè lên tất cả các quy tắc ưu tiên thông thường khác trong CSS cho một thuộc tính cụ thể. Kết luận Lý giải !important
Câu 17:Thuộc tính 'column-count' trong CSS được sử dụng để thực hiện công việc gì?
💡 Lời giải chi tiết:
Thuộc tính 'column-count' thuộc mô hình Multi-column Layout, giúp chia nhỏ dòng văn bản thành nhiều cột dọc giống như trên báo chí. Kết luận Lý giải Chia nội dung văn bản bên trong phần tử thành số cột chỉ định
Câu 18:Thuộc tính 'object-fit' thường được sử dụng cho các phần tử nào để kiểm soát cách chúng co giãn trong khung chứa?
💡 Lời giải chi tiết:
'object-fit' xác định cách nội dung của một phần tử thay thế (ví dụ: ảnh) khớp vào khung hình mà nó được chỉ định kích thước. Kết luận Lý giải Các phần tử nội dung thay thế như 'img' hoặc 'video'
Câu 19:Để tạo hiệu ứng làm mờ (blur) cho một phần tử bằng CSS, bạn sử dụng thuộc tính nào?
💡 Lời giải chi tiết:
Thuộc tính 'filter' cung cấp nhiều hiệu ứng đồ họa như làm mờ, chỉnh độ sáng, độ tương phản thông qua các hàm như 'blur()'. Kết luận Lý giải filter: blur(5px);
Câu 20:Trong Media Queries, điều kiện '(orientation: landscape)' dùng để nhắm mục tiêu đến các thiết bị có trạng thái như thế nào?
💡 Lời giải chi tiết:
Giá trị 'landscape' đại diện cho trạng thái màn hình nằm ngang, nơi kích thước chiều rộng vượt quá kích thước chiều cao. Kết luận Lý giải Thiết bị đang ở chế độ xoay ngang (chiều rộng lớn hơn chiều cao)
Câu 21:Sử dụng 'transform: translate(-50%, -50%)' kết hợp với 'top: 50%; left: 50%;' nhằm mục đích phổ biến nhất là gì?
💡 Lời giải chi tiết:
Kỹ thuật này dịch chuyển phần tử ngược lại một nửa kích thước của chính nó để căn chỉnh chính xác điểm trung tâm vào giữa vùng chứa. Kết luận Lý giải Căn giữa hoàn hảo một phần tử so với vùng chứa của nó
Câu 22:Thứ tự các giá trị trong thuộc tính 'box-shadow: 5px 10px 8px #888888;' lần lượt đại diện cho điều gì?
💡 Lời giải chi tiết:
Cú pháp chuẩn của 'box-shadow' quy định giá trị đầu tiên là độ lệch ngang (h-offset) và giá trị thứ hai là độ lệch dọc (v-offset). Kết luận Lý giải Độ lệch ngang, Độ lệch dọc, Độ mờ, Màu sắc
Câu 23:Tại sao người ta thường dùng giá trị màu RGBA thay vì thuộc tính 'opacity' khi muốn tạo nền trong suốt cho một phần tử?
💡 Lời giải chi tiết:
Thuộc tính 'opacity' làm mờ toàn bộ phần tử bao gồm cả nội dung và con của nó, trong khi RGBA chỉ áp dụng độ trong suốt cho chính màu đó. Kết luận Lý giải RGBA chỉ làm trong suốt màu nền mà không ảnh hưởng đến các phần tử con
Câu 24:Để xếp các phần tử con trong một Flex Container theo chiều dọc từ trên xuống dưới, bạn thiết lập thuộc tính nào?
💡 Lời giải chi tiết:
Mặc định 'flex-direction' là 'row', việc chuyển sang 'column' sẽ thay đổi trục chính của container thành trục đứng. Kết luận Lý giải flex-direction: column
Câu 25:Bộ chọn ':last-child' sẽ chọn phần tử nào trong các trường hợp sau?
💡 Lời giải chi tiết:
Lớp giả ':last-child' đại diện cho một phần tử là con cuối cùng trong danh sách các phần tử con của cha nó. Kết luận Lý giải Phần tử là con cuối cùng bên trong phần tử cha của nó