DANH MỤC: CSS

Bài 10: Thuộc tính possition trong CSS


Thuộc tính possition trong CSS giúp cho chúng ta xác định vị trí của thành phần. Thuộc tính này hỗ trợ cho chúng ta điền vào là một trong 5 giá trị sau đây:

  • static - Hiển thị theo thứ tự hiển thị bình thường (dạng mặc định nên mình sẽ không ví dụ).
  • relative -  Định vị vị trí tuyệt đối cho thành phần.
  • absolute - Định vị vị trí tuyệt đối cho thành phần theo thành phần bao ngoài nó (thành phần relative).
  • fixed - Định vị vị trí tương đối cho thành phần theo cửa sổ trình duyệt.

1, Thuộc tính position relative và absolute.

position relative

-Thuộc tính postion: relative trong CSS có tác dụng xác định vị trí tuyệt đối của thành phần.

Cú Pháp:

selector{
    position: relative;
}

- Và khi sử dụng thuộc tính này thì chúng ta sẽ phải sử dụng kèm theo với các thuộc tính căn chỉnh tọa độ của thành phần:

  • top: cách trên.
  • bottom: cách dưới.
  • left: cách trái.
  • right: cách phải.

Chú ý: các giá trị của các thẻ này là các đơn vị đo.

VD: Chúng ta có 1 đoạn HTML như sau:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Thuộc tính position trong CSS</title>
</head>
<style type="text/css" media="screen">
    div {
        padding: 30px;
        margin: 10px;
        width: 300px;
        border: 1px solid orange;
    }
</style>
<body>
    <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Excepturi, praesentium.</div>
    <div class="relative">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Excepturi, praesentium.</div>
    <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Excepturi, praesentium.</div>
</body>
</html>

Xem Kết Quả

-Thông thường thì các thẻ sẽ hiển thị đúng như thứ tự, nhưng bây giờ mình sẽ thêm đoạn CSS sau vào class relative:

.relative {
    position: relative;
    /*Cách trái 250px*/
    left: 250px;
    /*Cách trên 270px*/
    top: 270px;
    background-color: #e1e1e1;
}

Xem Kết Quả

position absolute

-Thuộc tính position: absolute trong CSS có tác dụng xác định các định tọa độ của thành phần theo một thẻ cha relative (nếu có), còn nếu không thì nó sẽ theo body của trang web. Cách sử dụng cũng tương tự như relative.

VD: Cũng với VD ở trên nhưng mình sẽ đổi tên class relative thành absolute và CSS lại như sau:

.absolute {
    position: absolute;
    /*Cách trái 250px*/
    left: 250px;
    /*Cách trên 270px*/
    top: 270px;
    background-color: #e1e1e1;
}

Xem Kết Quả

-Như các bạn đã thấy thì absolute di chuyển được thành phần, nhưng khi chúng ta di chuyển bằng absolute thì các thẻ tiếp theo sẽ được tràn lên vị trí mặc định của nó (còn relative không tràn).

2, Thuộc tính position fixed.

-Thuộc tính này dùng để xác vị trí của một thành phần so với cửa sổ hiển thị của trình duyệt. Và để xác định vị trí của nó thì các bạn cũng phải kết hợp với các thuộc tính top,right,bottom,left như 2 thuộc tính phía trên.

VD: Mình có một đoạn HTML sau:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Thuộc tính position trong CSS</title>
</head>
<style type="text/css" media="screen">
    div {
        border: 1px solid orange;
        margin-top:15px;
    }
    .header {
        text-align: center;
    }
    .body {
        height: 1000px;
    }
</style>
<body>
    <div class="header"><img src="https://toidicode.com/upload/images/logo.png" height="70px"></div>
    <div class="body">
        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
        tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
        quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
        consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
        cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
        proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
    </div>
</body>
</html>

Xem Kết Quả

-Bây giờ mình sẽ CSS cho header lúc nào cũng ở trên của màn hình giống như header của facebook.

.header {
    margin-top: 0px;
    text-align: center;
    position: fixed;
    top: 0px;
    width: 100%;
    background: #dddddd;
}

Xem Kết Quả

4, Lời kết.

-Thuộc tính này sẽ được sử dụng rất là nhiều trong thực tế, nên mình sẽ làm một bài thực hành xây dựng menu đa cấp trong CSS để ứng dụng luôn vào thuộc tính này.

Nguồn: Toidicode.com

Thông tin tác giả

Vũ Thanh Tài

Vũ Thanh Tài

The best way to learn is to share

Hãy tham gia group facebook để cùng giao lưu chia sẻ kiến thức! Tham Gia