Canh giữa theo chiều dọc CSS

Khi làm web bạn sẽ cần canh giữa các phần tử theo chiều ngang hoặc dọc (Vertical Centering). Với chiều ngang thì có thể dùng Flexbox với juscontent: center hoặc margin: 0 auto hay text-align: center. Còn với chiều dọc thì sao? Sẽ dùng cái gì để căn phần tử HTML ra giữa? Bài viết này sẽ đi trả lời những câu hỏi đó.

Cách 1: Dùng Display Flex

Đây là cách mình thường hay dùng nhất bởi code viết khá đơn giản.

Hãy xem ví dụ sau:

Viết mã HTML

<div class="box-center">
  <p>Căn chỉnh theo chiều dọc</p>
</div>

Và thêm CSS

.box-center {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 150px;
  border: 1px solid red; 
}

Sử dụng align-items: center; để canh theo Vertically.

Cách 2: Sử thuộc tính Position: absolute

Ví dụ:

<!DOCTYPE html>
<html>
<head>
<style>
.box-container { 
  height: 200px;
  position: relative;
  border: 2px solid blue; 
}

.box-center {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
</style>
</head>
<body>

<div class="box-container">
  <div class="box-center">
    <p>Đoạn văn bản ví dụ</p>
  </div>
</div>

</body>
</html>

Cách 3: Sử dụng Display: table

<!DOCTYPE html>
<html>
<head>
<style>
.box-container { 
  height: 200px;
  position: relative;
  border: 3px solid green; 
  display: table;
}

.box-center {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}
</style>
</head>
<body>

<div class="box-container">
  <div class="box-center">
    <p>Văn bản</p>
  </div>
</div>

</body>
</html>

Bạn lưu ý là box-container cần phải đặt display: table. box-center là display: table-cell và thêm vertical-align: middle;

Cách 4: Sử dụng padding

Cũng với ví dụ ở cách 3 giờ thay bằng padding-top, phần tử sẽ tạo ra khoảng cách với mép trên cùng.

.box-center {
  padding-top: 80px;
}

Kết luận: Với 4 cách trên bạn sẽ áp dụng để canh giữa phần tử theo chiều dọc trang trí cho website đẹp mắt. Cũng đang còn nhiều cách khác nữa tuy nhiên đây là những cách mình thấy đơn giản và dễ dùng nhất.

Related Posts

Hover-CSS-1

Hiệu ứng rê chuột trong CSS

CSS là ngôn ngữ trang trí với nhiều hiệu ứng hay. Bạn sẽ thường gặp nhất là khi di chuyển chuột vào một liên kết (Link) hay…

Mẫu Form đăng nhập HTML và CSS đẹp mắt

Trong một số bài viết trên blog này mình đã chia sẻ về cách tạo một Form đăng nhập đơn giản. Nhưng để có một Form đẹp…

form-lien-he-4

Hướng dẫn tạo form liên hệ bằng HTML, CSS

Form liên hệ là một chức năng không thể thiếu cho blog, website. Thông qua Form độc giả, khách hàng có thể yêu cầu admin trợ giúp…

css-code-1

8 Cách viết CSS chuẩn, dễ đọc và tối ưu

Nói tới xây dựng giao diện phía Front-end không thể thiếu CSS. Ngôn ngữ được sử dụng phổ biến để sắp xếp bố cục các phần tử…

Thuộc tính text-shadow trong CSS

Trong những lúc rảnh rỗi mình thường hay nghịch ngợm một vài thứ hay ho tìm thấy trên internet. Đối với CSS thì text-shadow cũng là thuộc…

Thuộc tính Overflow trong CSS

Khi thiết kế web với HTML và CSS đôi khi chúng ta sẽ gặp phải tình trạng văn bản (text) bị tràn ra khỏi phần tử HTML…