Trong bài
Box Model trong CSS mình cũng có giới thiệu qua về Margin và Padding, bài viết này chúng ta sẽ tìm hiểu kỹ hơn và cách viết tắt đối với margin và padding.
1. Margin
Khi ta khai báo thuộc tính Margin (canh lề) cho một thành phần nào đó, thì nó sẽ tạo ra một khoảng cách giữa thành phần đó với các thành phần xung quanh nó (top, right, bottom và left). Tạo ra sự phân chia giữa các thành phần trong trang web được thể hiện rõ ràng hơn.
Giá trị của margin
- auto: tự động canh đều 2 bên left và right, thường được sử dụng để canh giữa màn hình cho toàn bộ trang web.
- Kích thước (pixels, pt, em . . .)
- % kích thước của thành phần chứa nó.
Cách khai báo margin
Ví dụ bên dưới sẽ khai báo margin (top, right, left, bottom) cho thành phần <p> có class=”first”
p.first{
margin-top:10px;
margin-right:10px;
margin-bottom:15px;
margin-left:15px;
}
<p class="first">
Đoạn văn bản này cách phía trên 10px, bên trái 15px, bên phải 10px; phía dưới 15px, không có padding
3
</p>
2. Padding
Padding là phần nằm giữa phần hiển thị nội dung và đường viền (border). Khi một thành phần được khai báo padding thì sẽ tạo ra một khoảng trống với dường viền giúp nội dung dễ nhìn hơn.
Giá trị của padding
- Kích thước (pixels, pt, em . . .)
- % kích thước của thành phần chứa nó.
Cách khai báo padding
Ví dụ sau khai báo padding cho thành phần <p> có class=”two”
p.two{
padding-top:2px;
padding-right: 3px;
padding-bottom:4px;
padding-left:5px
}
Đoạn văn bản này có padding-top:5px, padding-bottom:5px, padding-right: 5px, padding-left:5px và không có margin.
Ta thấy giữa đoạn văn bản và đường viền có một khoảng cách là 5px nên dễ nhìn hơn đoạn văn bản thứ nhất, không có padding.
3. Cách viết tắt đối với Margin và Padding
ở các ví dụ trên ta nhận thấy, margin và padding được khai báo cho từng cạnh (top, right, bottom, left) riêng biệt. Để đơn giản hơn chúng ta gộp chung tất cả các cạnh lại, đây chính là cách viết tắt đối với margin và padding.
Giả sử bây giờ ta viết margin cho thành phần p, chúng ta có thể viết đầy đủ như sau:
p{ margin-top: 10px; margin-right: 10px; margin-left: 15px; margin-bottom: 15px}
Nhưng để đơn giản hơn chúng ta có thể viết như sau:
p{ margin: 10px 10px 15px 15px}
Thứ tự của các cạnh ở cách viết này tuân theo chiều kim đồng hồ bắt dầu từ : top – right – bottom – left.
Tuy nhiên chúng ta có thể không cần phải viết đầy đủ giá trị cho bốn cạnh mà có thể viết 3, hoặc 2, hay thậm chí chỉ một giá trị. Nếu một trong 4 giá trị bị thiếu, thì nó sẽ lấy giá trị của cạnh đối diện.
Ví dụ
p{ margin: 10px 10px 7px}
ở ví dụ này ta thấy bị thiếu một giá trị của cạnh bên trái, do đó nó sẽ lấy giá trị của cạnh bên phải, do đó có giá trị là 10px.
p{ margin: 10px 5px}
ở ví dụ này ta thấy thiếu cạnh bên trái và cạnh dưới, do đó cạnh dưới sẽ lấy giá trị của cạnh trên (10px), cạnh bên trái sẽ lấy giá trị của cạnh bên phải (5px).
Trong trường hợp chỉ có một giá trị được khai báo:
p{ margin: 5px}
Thì tất cả các cạnh đều có margin là 5px.
Cách viết tắt cho padding cũng tương tự đối với margin.