Đây là 2 thuộc tính căn bản của css.Tuy nhiên có không ít admin không hiểu dược rõ về hai thuộc tính quan trọng này dẫn đến việc sử dụng sai giá trị của chúng.Về đinh nghĩa chúng khá giống nhau nhưng công dụng cũng như cách sử dụng hoàn toàn khác biệt.
1. Margin
Khi ta khai báo thuộc tính Margin (canh lề) cho một thànhphầ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.
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ềngiúp nội dung dễ nhìn hơn. Giá trị của margin
va padding
*auto: tự động canh đều 2 bên left và right, thường được sử dụng để canh giữamàn hình cho toàn bộ trang wap.
*. Kích thước (pixels, pt, em . ..)
*. % kích thước của thành phần chứa nó. Cach khai báo margin va padding Ví dụ bên dưới sẽ khai báo margin (top, right, left, bottom)cho thành phần <p> có class=”first”
1 p.first{
2 margin-top : 10px ;
3 margin-right : 10px ;
4 margin-bottom : 15px ;
5 margin-left : 15px ;
6 }
1 < p class = "first" >
2 Đ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 >
Kết quả
Đoạn văn bản này cách phíatrên 10px, bên trái 15px, bên phải 10px; phía dưới 15px, không có padding
Tương tự như thế padding cũng vậy. ở 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:
1 p{ margin-top : 10px ; margin-right : 10px ; margin-left : 15px ; margin-bottom : 15px }
Nhưng để đơn giản hơn chúngta có thể viết như sau:
1 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ấygiá trị của cạnh đối diện.
Ví dụ
1 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.
1 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:
1 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.