Làm sao để căn chỉnh nội dung của thẻ <p>
nằm ngay trung tâm của thẻ <div>
trong CSS?
Làm sao để căn chỉnh nội dung của thẻ <p>
nằm ngay trung tâm của thẻ <div>
trong CSS?
Để căn chỉnh nội dung của thẻ <p>
nằm ngay trung tâm của thẻ <div>
, bạn cần căn chỉnh cả theo chiều ngang (horizontal) và chiều dọc (vertical). Dưới đây là một số cách thực hiện:
Flexbox là một cách hiện đại và linh hoạt để căn chỉnh các phần tử. Bạn có thể sử dụng display: flex
trên thẻ <div>
và sau đó sử dụng justify-content: center
để căn ngang và align-items: center
để căn dọc.
div {
display: flex;
justify-content: center;
align-items: center;
height: 100px; /* Hoặc bất kỳ giá trị nào bạn muốn */
}
Một cách khác là sử dụng position: relative
cho thẻ <div>
và position: absolute
cùng với transform: translate(-50%, -50%)
cho thẻ <p>
. Điều này sẽ đặt thẻ <p>
chính giữa thẻ <div>
.
div {
position: relative;
height: 100px; /* Hoặc bất kỳ giá trị nào bạn muốn */
}
p {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
Nếu bạn chỉ muốn căn ngang, bạn có thể sử dụng text-align: center
cho thẻ <div>
. Để căn dọc, bạn có thể thêm padding
cho thẻ <p>
nhưng phương pháp này chỉ hiệu quả khi bạn biết chính xác kích thước của nội dung.
div {
text-align: center;
height: 100px; /* Hoặc bất kỳ giá trị nào bạn muốn */
}
p {
padding-top: 40px; /* Điều chỉnh giá trị này dựa trên nhu cầu */
}
Lưu ý rằng, để các phương pháp trên hoạt động hiệu quả, bạn cần đảm bảo rằng thẻ <div>
có một chiều cao xác định. Flexbox là phương pháp được khuyến nghị nhất vì nó dễ dàng và linh hoạt hơn trong việc căn chỉnh các phần tử, đặc biệt khi làm việc với các layout phức tạp
middle
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào