Cafedev chia sẻ cho ace về Căn chỉnh ngang & dọc của bố cục trong CSS thông qua ví dụ và thực thi chi tiết tại bài viết này
Nội dung chính
1. Căn giữa các thành phần
Để căn giữa một phần tử khối theo chiều ngang [như < div >], hãy sử dụng margin: auto;
Đặt chiều rộng của phần tử sẽ ngăn phần tử kéo dài ra các cạnh của vùng chứa
Khi đó, phần tử sẽ chỉ chiếm chiều rộng được định sẵn và không gian còn lại sẽ được chia đều giữa hai bên
.center {
margin: auto;
width: 60%;
border: 3px solid #73AD21;
padding: 10px;
}
Center Align Elements
To horizontally center a block element [like div], use margin: auto;
Note: Using margin:auto will not work in IE8, unless a !DOCTYPE is declared.
Lưu ý. Căn giữa không có hiệu lực nếu thuộc tính width
không được đặt [hoặc được đặt thành 100%]
2. Căn giữa Văn bản – Căn giữa Văn bản
Để chỉ căn giữa các văn bản bên trong một phần tử, hãy sử dụng text-align: center;
.center {
text-align: center;
border: 3px solid green;
}
Center Text
This text is centered.
3. Căn trái và Phải – Sử dụng vị trí
.right {
position: absolute;
right: 0px;
width: 300px;
border: 3px solid #73AD21;
padding: 10px;
}
Right Align
An example of how to right align elements with the position property:
In my younger and more vulnerable years my father gave me some advice that I've been turning over in my mind ever since.
Lưu ý. Các phần tử có vị trí đối tượng tuyệt vời bị xóa khỏi luồng thông thường và có thể chồng chéo các phần tử
4. Căn trái và Phải – Sử dụng float
Một phương pháp khác để chỉnh sửa các phần tử đang sử dụng thuộc tính float
.right {
float: right;
width: 300px;
border: 3px solid #73AD21;
padding: 10px;
}
Right Align
An example of how to right align elements with the float property:
In my younger and more vulnerable years my father gave me some advice that I've been turning over in my mind ever since.
Lưu ý. Nếu một phần tử cao hơn phần tử chứa nó và nó được thả nổi, nó sẽ tràn ra bên ngoài vùng chứa của nó. Bạn có thể sử dụng hack “clearfix” để sửa lỗi này [xem ví dụ bên dưới]
5. Căn giữa theo chiều dọc – Buffer used
Có nhiều cách để căn giữa một phần tử theo chiều dọc trong CSS. Một giải pháp đơn giản là sử dụng bộ đệm trên và dưới
.center {
padding: 70px 0;
border: 3px solid green;
}
Center Vertically
In this example, we use the padding property to center the div element vertically:
I am vertically centered.
6. Căn giữa theo chiều dọc – Use line-height
Một mẹo khác là sử dụng thuộc tính chiều cao dòng với giá trị bằng chiều cao thuộc tính
.center {
line-height: 200px;
height: 200px;
border: 3px solid green;
text-align: center;
}
.center p {
line-height: 1.5;
display: inline-block;
vertical-align: middle;
}
Centering
In this example, we use the line-height property with a value that is equal to the height property to center the div element:
I am vertically and horizontally centered.
7. Căn giữa theo chiều dọc – Use Flexbox
Bạn cũng có thể sử dụng flexbox để căn giữa mọi thứ. Chỉ cần lưu ý rằng flexbox không được hỗ trợ trong IE10 và các phiên bản trước đó
.center {
display: flex;
justify-content: center;
align-items: center;
height: 200px;
border: 3px solid green;
}
Flexbox Centering
A container with both the justify-content and the align-items properties set to center will align the item[s] in the center [in both axis].
I am vertically and horizontally centered.
Full series CSS tự học từ cơ bản đến nâng cao
Nếu thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa