Positioning - Cách định vị phần tử

Tạo bởi Hoàng Vũ, chỉnh sửa cuối lúc 11 tháng 2, 2025

Positioning là một trong những kỹ thuật quan trọng trong CSS giúp kiểm soát vị trí của các phần tử trên trang web. Trong bài học này, chúng ta sẽ tìm hiểu các loại positioning phổ biến, khi nào nên sử dụng từng loại, và cách Bootstrap hỗ trợ để dễ dàng áp dụng vào dự án thực tế.

1. Các loại Positioning trong CSS

CSS cung cấp 5 kiểu định vị phần tử chính:

1.1. Static (Mặc định)

  • Mặc định của tất cả các phần tử HTML.
  • Không bị ảnh hưởng bởi các thuộc tính top, left, right, bottom.
  • Phần tử nằm theo đúng vị trí tự nhiên trong luồng HTML.

Ví dụ:

div {
    position: static;
}

1.2. Relative (Tương đối)

  • Vị trí của phần tử thay đổi dựa trên vị trí ban đầu.
  • Dùng các thuộc tính top, left, right, bottom để di chuyển phần tử.

Ví dụ:

div {
    position: relative;
    top: 20px; /* Di chuyển xuống 20px so với vị trí ban đầu */
    left: 30px; /* Di chuyển sang phải 30px */
}

1.3. Absolute (Tuyệt đối)

  • Phần tử được định vị dựa trên phần tử cha gần nhất có position: relative.
  • Nếu không có cha relative, nó sẽ được định vị theo <html>.

Ví dụ:

div {
    position: absolute;
    top: 50px;
    right: 20px;
}

1.4. Fixed (Cố định)

  • Phần tử cố định trên màn hình, không bị ảnh hưởng khi cuộn trang.
  • Phù hợp cho thanh điều hướng, nút quay lại đầu trang.

Ví dụ:

div {
    position: fixed;
    bottom: 10px;
    right: 10px;
    background-color: red;
    padding: 10px;
}

1.5. Sticky (Dính)

  • Kết hợp giữa relativefixed.
  • Khi cuộn trang, phần tử sẽ dính vào vị trí cố định khi đạt đến một ngưỡng nhất định.

Ví dụ:

div {
    position: sticky;
    top: 0px;
    background-color: yellow;
}

2. Bootstrap hỗ trợ Positioning như thế nào?

Bootstrap cung cấp các lớp hỗ trợ định vị nhanh chóng:

  • .position-static → Mặc định.
  • .position-relative → Định vị tương đối.
  • .position-absolute → Định vị tuyệt đối.
  • .position-fixed → Định vị cố định.
  • .position-sticky → Định vị dính.

Ví dụ sử dụng Bootstrap:

<div class="position-relative bg-light p-3" style="height: 200px;">
    <div class="position-absolute top-0 end-0 bg-danger text-white p-2">
        Ô vuông tuyệt đối
    </div>
</div>

Lợi ích của Bootstrap: Giúp viết CSS nhanh hơn mà không cần viết quá nhiều dòng mã tùy chỉnh.

3. Khi nào nên sử dụng từng loại positioning?

Loại Khi nào sử dụng?
static Khi không cần thay đổi vị trí phần tử.
relative Khi muốn điều chỉnh vị trí so với vị trí ban đầu.
absolute Khi cần đặt phần tử ở vị trí chính xác theo phần tử cha.
fixed Khi cần giữ phần tử cố định trên màn hình.
sticky Khi muốn phần tử cố định khi cuộn trang đến một vị trí nhất định.

4. Bài tập thực hành

Bài tập:

  1. Tạo một hộp với 5 kiểu định vị khác nhau (static, relative, absolute, fixed, sticky).
  2. Sử dụng CSS thuần để định vị phần tử theo các vị trí khác nhau.
  3. Áp dụng Bootstrap để định vị phần tử tương tự.
  4. So sánh và rút ra nhận xét.

5. Kết luận

Qua bài học này, bạn đã nắm vững các kiểu định vị phần tử trong CSS và cách sử dụng Bootstrap để tối ưu hóa. Positioning giúp bạn kiểm soát bố cục trang web một cách chính xác, từ các thanh điều hướng cố định đến các phần tử dính trên trang.

Website Logo

Với hơn 10 năm kinh nghiệm lập trình web và từng làm việc với nhiều framework, ngôn ngữ như PHP, JavaScript, React, jQuery, CSS, HTML, CakePHP, Laravel..., tôi hy vọng những kiến thức được chia sẻ tại đây sẽ hữu ích và thiết thực cho các bạn.

Bình luận

Website Logo

Chào, tôi là Vũ. Đây là blog hướng dẫn lập trình của tôi.

Liên hệ công việc qua email dưới đây.

lhvuctu@gmail.com

Chúng Tôi Trên

Bạn đang muốn học về lập trình website?

Bạn cần nâng cao kiến thức chuyên nghiệp hơn để nâng cao cơ hội nghề nghiệp? Liên hệ