Tài Liệu Tham Khảo Chi Tiết Về CSS3 Cho Phát Triển Web

2.1 Các Chọn Lọc Cơ Bản

Chọn lọc theo thẻ, lớp, hoặc ID là những phương pháp cơ bản nhất để áp dụng CSS.

2.1.1 Chọn Lọc Theo Thẻ

Áp dụng trực tiếp cho tất cả các thẻ HTML cùng tên.

div {
    background-color: #f0f0f0;
}

2.1.2 Chọn Lọc Theo Lớp

Sử dụng dấu chấm để áp dụng cho các phần tử có class cụ thể.

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

2.1.3 Chọn Lọc Theo ID

Áp dụng cho một phần tử duy nhất với ID cụ thể.

#main-header {
    padding: 20px;
    text-align: center;
}

2.2 Chọn Lọc Phức Tạp

2.2.1 Chọn Lọc Theo Cấp Con

Áp dụng cho các phần tử con trực tiếp.

section > article {
    margin-bottom: 15px;
}

2.2.2 Chọn Lọc Theo Anh Em Kề Nhau

Áp dụng cho phần tử ngay sau một phần tử cụ thể.

.active + p {
    color: #333;
    margin-top: 5px;
}

3. Tính Năng Mới Trong CSS3

3.1 Tính Năng Cụm Chữ (Pseudo-elements)

Cung cấp khả năng tạo ra các phần tử ảo mà không cần thêm HTML.

.feature-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    transition: all 0.3s;
    display: none;
}

.feature-box:hover::before {
    display: block;
}

3.2 Tính Năng Chọn Lọc Theo Cấu Trúc

Chọn các phần tử dựa trên vị trí trong cây DOM.

ul li:nth-child(odd) {
    background-color: #f5f5f5;
}

ul li:nth-child(even) {
    background-color: #fff;
}

4. Mô Hình Hộp (Box Model)

Định nghĩa cách tính toán kích thước của các phần tử trên trang web.

4.1 Cấu Trúc Mô Hình Hộp

Mô hình hộp bao gồm: margin, border, padding, và nội dung.

.box {
    width: 300px;
    padding: 20px;
    border: 1px solid #ccc;
    margin: 10px;
}

4.2 Tính Năng border-radius

Tạo các cạnh tròn cho các phần tử.

.circle {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #3498db;
}

5. Định Vị (Positioning)

5.1 Định Vị Tương Đối (Relative)

Di chuyển phần tử dựa trên vị trí gốc của nó.

.relative-item {
    position: relative;
    top: 10px;
    left: 15px;
}

5.2 Định Vị Tuyệt Đối (Absolute)

Di chuyển phần tử dựa trên vị trí gần nhất có định vị.

.parent {
    position: relative;
    width: 500px;
    height: 300px;
}

.absolute-item {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 100px;
    height: 100px;
}

5.3 Định Vị Cố Định (Fixed)

Định vị phần tử dựa trên khung nhìn của trình duyệt.

.fixed-footer {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 200px;
    height: 50px;
    background: #333;
    color: #fff;
    text-align: center;
    line-height: 50px;
}

6. Chuyển Động (Transitions)

Tạo hiệu ứng chuyển tiếp mượt mà cho các thuộc tính CSS.

.button {
    background: #3498db;
    color: white;
    padding: 10px 20px;
    transition: all 0.3s ease;
}

.button:hover {
    background: #2c80b9;
    transform: scale(1.05);
}

7. Biến Hình 2D (2D Transforms)

7.1 Di Chuyển (Translate)

Di chuyển phần tử theo trục X và Y.

.element {
    transform: translateX(20px) translateY(10px);
}

7.2 Xoay (Rotate)

Xoay phần tử theo một góc nhất định.

.rotate-element {
    transform: rotate(45deg);
}

7.3 Thu Phóng (Scale)

Thay đổi kích thước của phần tử.

.scale-element {
    transform: scale(1.2);
}

8. Responsive Design

8.1 Media Queries

Áp dụng các quy tắc CSS dựa trên kích thước màn hình.

@media screen and (max-width: 768px) {
    .container {
        width: 90%;
    }
    
    .sidebar {
        display: none;
    }
}

@media screen and (min-width: 769px) {
    .container {
        width: 80%;
    }
}

8.2 Flexbox Layout

Phương pháp bố cục linh hoạt cho các phần tử con.

.container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.item {
    flex: 1;
    margin: 10px;
}

9. Công Cụ Hỗ Trợ

9.1 CSS Preprocessors

Các công cụ như Sass và Less giúp viết CSS hiệu quả hơn.

9.2 CSS Reset

Chuẩn hóa các thuộc tính CSS giữa các trình duyệt.

*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

Thẻ: CSS3 flexbox Media Queries transforms responsive design

Đăng vào ngày 2 tháng 6 lúc 16:13