Bài 8: CSS Margin


Phần tử này có căn lề là 70px.


CSS Margin – Căn lề trong CSS

Trong CSS, Thuộc tính margin được sử dụng để tạo ra khoảng không gian trống (space) xung quanh các phần tử.

Thuộc tính này thiết lập khoảng trống BÊN NGOÀI đường viền (border).

Giá trị của thuộc tính margin không được kế thừa bởi các phần tử con. Bạn có quyền kiểm soát tất cả các lề (trên, dưới, trái và phải) thông qua các thuộc tính mà bạn sẽ được tìm hiểu ngay phía dưới của bài học.


Margin – theo từng cạnh

Để căn lề cho từng cạnh của phần tử, trong CSS bạn có thể sử dụng các thuộc tính sau:

  • margin-top: căn lề trên của một phần tử
  • margin-right: căn lề phải của một phần tử
  • margin-bottom: căn lề dưới của một phần tử
  • margin-left: căn lề trái của một phần tử

Tất cả các thuộc tính liên quan tới margin đều có thể nhận các giá trị sau:

  • auto – Các trình duyệt sẽ tự động ước lượng việc căn lề cho mỗi phần tử.
  • length –  Xác định độ rộng của lề (theo đơn vị px, pt, cm, …). Giá trị mặc định là 0.
  • % – Xác định mối quan hệ giữa lề với độ rộng của phần tử chứa nó.
  • inherit – Kế thừa giá trị lề từ phần tử cha chứa phần tử có thuộc tính margin này.

Tip: Với thuộc tính margin, bạn cũng có thể cho phép chúng nhận giá trị âm

Ví dụ dưới đây sẽ hướng dẫn các bạn cách áp dụng 4 thuộc tính margin như trình bày ở trên để tạo lề cho phần tử  <p>

Ví dụ:


p {
margin-top: 100px;
margin-bottom: 100px;
margin-right: 150px;
margin-left: 80px;
}


Thuộc tính Margin trong CSS

Khi sử dụng thuộc tính margin, bạn có thể đơn giản hơn đoạn code của mình nhưng nó vẫn giúp bạn xác định tất cả các thuộc tính liên quan tới việc căn lề trong CSS như:

  • margin-top
  • margin-right
  • margin-bottom
  • margin-left

Ví dụ:


p {
margin: 100px 150px 100px 80px;
}

Các ví dụ sau sẽ giúp bạn hiểu rõ hơn cách hoạt động của thuộc tính margin:

Thuộc tính margin có 4 giá trị:

  • margin: 25px 50px 75px 100px;
    • Lề trên là 25px
    • Lề phải là 50px
    • Lề dưới là 75px
    • Lề trái là 100px

Nếu thuộc tính margin có 3 giá trị:

  • margin: 25px 50px 75px;
    • Lề trên là 25px
    • Lề phải và trái là 50px
    • Lề dưới là 75px

Nếu thuộc tính margin có 2 giá trị:

  • margin: 25px 50px;
    • Lề trên và lề dưới là 25px
    • Lề phải và lề trái là 50px

Nếu thuộc tính margin có 1 giá trị:

  • margin: 25px;
    • Các lề trên, lề dưới, lề trái, và lề phải là 25px

Giá trị Auto

Bạn có thể thiết lập giá trị Auto cho thuộc tính margin để tự động căn chỉnh giữa các phần tử bên trong container của nó.

Phần tử này sẽ xác định chiều rộng được chỉ định và khoảng trống còn lại sẽ được chia đều giữa lề trái và lề phải:

Ví dụ:


div {
width: 300px;
margin: auto;
border: 1px solid red;
}


Giá trị inherit

Ví dụ này cho phép lề trái được kế thừa từ phần tử cha:

Ví dụ:


div.container {
border: 1px solid red;
margin-left: 100px;
}
p.one {
margin-left: inherit;
}


Margin collapse

Hai phần tử có cùng căn lề, chiều ngang căn lề của lề trên và lê dưới của hai phần tử này lấy theo độ rộng lớn nhất giữa 2 lề.

Điều này không xảy ra ở lề trái và phải! Chỉ có duy nhất ở lề trên và lề dưới của phần tử!

Chúng ta sẽ hiểu hơn qua ví dụ sau:

Ví dụ:


h1 {
margin: 0 0 50px 0;
}
h2 {
margin: 20px 0 0 0;
}

Trong ví dụ này, phần tử h1 có lề dưới là 50px và phần tử h2 có lề trên là 20px. Ta có: khoảng cách giữa h1 và h2 đáng nhẽ phải là 70px (50px + 20px). Tuy nhiên, thuộc tính collapsing trong margin sẽ giúp chúng gộp thành một margin duy nhất. Chiều cao của margin sẽ bằng chiều cao của margin lớn hơn đó là 50px.


Tổng hợp các thuộc tính Margin trong CSS

Thuộc tính Mô tả
margin Thuộc tính rút gọn của CSS. cho phép thiết lập tất cả thuộc tính liên quan tới việc căn lề.
margin-bottom Căn lề dưới của một phần tử.
margin-left căn lề trái của một phần tử.
margin-right Căn lề phải của một phần tử.
margin-top Căn lề trên của một phần tử.

Có thể bạn sẽ thích…

1 phản hồi

Trả lời