×

Cách sử dụng background-attachment - Tùy chọn cuộn nền trong CSS

Hiểu về thuộc tính background-attachment và tùy chọn cuộn nền trong CSS

Khi tạo một trang web, giao diện và trải nghiệm người dùng là yếu tố cực kỳ quan trọng. Việc sử dụng các thuộc tính CSS để quản lý hình ảnh nền giúp tăng thêm phong cách và độc đáo cho trang web của bạn. Một trong những thuộc tính hữu dụng nhất là background-attachment.

background-attachment là gì?

background-attachment là một thuộc tính CSS dùng để xác định cách hình ảnh nền của phần tử di chuyển khi người dùng cuộn trang.

Các giá trị của background-attachment

  1. scroll (mặc định)

    • Hình ảnh nền sẽ di chuyển cùng với nội dung của phần tử. Điều này có nghĩa là khi bạn cuộn trang, hình nền cũng sẽ cuộn theo.
    .scroll-background {
        background-image: url('path/to/image.jpg');
        background-attachment: scroll;
    }
    
  2. fixed

    • Hình ảnh nền sẽ cố định tại vị trí của nó ngay cả khi nội dung trang cuộn. Giá trị này có thể tạo ra hiệu ứng parallax rất hấp dẫn nếu sử dụng đúng cách.
    .fixed-background {
        background-image: url('path/to/image.jpg');
        background-attachment: fixed;
    }
    
  3. local

    • Hình ảnh nền sẽ cuộn theo nội dung của phần tử gần phần tử cuộn thay vì toàn bộ trang. Thường ít được sử dụng hơn nhưng vẫn rất hữu ích trong một số trường hợp cụ thể.
    .local-background {
        background-image: url('path/to/image.jpg');
        background-attachment: local;
    }
    

Áp dụng background-attachment vào thiết kế trang web

Sử dụng scroll cho nền động

Khi bạn muốn hình nền thay đổi theo hành động người dùng, scroll là sự lựa chọn hợp lý. Ví dụ, khi bạn có một trang blog dài và muốn hình nền tăng thêm phần di động, scroll sẽ giúp hình nền di chuyển khi bạn cuộn trang.

Sử dụng fixed cho hiệu ứng Parallax

Hiệu ứng Parallax đang rất thịnh hành trong thiết kế web hiện nay. Bạn có thể tạo ra một trang web có vẻ đẹp ấn tượng bằng cách sử dụng giá trị fixed cho hình ảnh nền. Điều này tạo ra cảm giác hình ảnh nền là một phần của không gian ba chiều.

Sử dụng local cho phần tử cuộn riêng biệt

Có lẽ bạn có một div hoặc section với nội dung cuộn riêng biệt không liên quan đến tổng thể trang. Trong trường hợp này, local giúp hình nền của phần tử con này di chuyển cùng với nội dung phần tử đó, thay vì toàn bộ trang.

Ví dụ cụ thể

Dưới đây là một ví dụ minh họa cách sử dụng cả ba giá trị của background-attachment:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        body {
            margin: 0;
            font-family: Arial, sans-serif;
        }
        .scroll-section {
            height: 1000px;
            background-image: url('scroll-background.jpg');
            background-attachment: scroll;
            background-size: cover;
        }
        .fixed-section {
            height: 1000px;
            background-image: url('fixed-background.jpg');
            background-attachment: fixed;
            background-size: cover;
        }
        .local-section {
            height: 300px;
            overflow-y: scroll;
            background-image: url('local-background.jpg');
            background-attachment: local;
            background-size: cover;
            border: 1px solid #ccc;
        }
    </style>
</head>
<body>
    <div class="scroll-section"></div>
    <div class="fixed-section"></div>
    <div class="local-section">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus imperdiet, nulla et dictum interdum, nisi lorem egestas odio, vitae scelerisque enim ligula venenatis dolor. Maecenas nisl est, ultrices nec congue eget, auctor vitae massa. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus imperdiet, nulla et dictum interdum, nisi lorem egestas odio, vitae scelerisque enim ligula venenatis dolor. Maecenas nisl est, ultrices nec congue eget, auctor vitae massa. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    </div>
</body>
</html>

Trong đoạn mã trên:

  • Phần scroll-section sử dụng background-attachment: scroll.
  • Phần fixed-section sử dụng background-attachment: fixed.
  • Phần local-section sử dụng background-attachment: local.

Mỗi phần tạo ra hiệu ứng nền khác nhau khi cuộn trang.

Kết luận

Thấu hiểu và sử dụng thành thạo thuộc tính background-attachment giúp bạn tạo ra giao diện trang web chuyên nghiệp và ấn tượng. Mỗi giá trị của thuộc tính này mang lại những ứng dụng và hiệu ứng đặc trưng riêng, giúp nâng cao trải nghiệm người dùng trên trang web của bạn. Hãy thử áp dụng những kinh nghiệm này vào dự án của bạn để thấy rõ sự khác biệt!

Comments