Tôi không có tài năng gì cả. Tôi chỉ đam mê hiểu biết
Những Cách Canh Giữa Phần Tử Bằng CSS Mà Bạn Nên Biết

Những Cách Canh Giữa Phần Tử Bằng CSS Mà Bạn Nên Biết


Ngày 16 Tháng 12 Năm 2020

Việc canh giữa các phần tử trong website thì thật sự không khó nhưng do có quá nhiều cách để thực hiện nên nhiều khi sẽ làm bạn bị rối(không biết nên sử dụng cách nào cho hợp lý). Do đó Ngày hôm nay mình sẽ giới thiệu đến bạn tất cả các cách để có thể canh giữa các phần tử HTML trong trường hợp cụ thể thông qua việc sử dụng các thuộc tính trong CSS nhé!


Căn Giữa Theo Chiều Ngang

Sử dụng text-align

Đối với thuộc tính text-align thì chúng ta có thể dùng để căn giữa cho các inline element(như là nội dung, đường dẫn...). Và để hiểu rõ hơn bạn xem đoạn mã sau nhé:

HTML

<!--Niềm Vui Lập Trình-->
<!--Căn Giữa Nội Dung Văn Bản-->
<p>
 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut et vehicula lorem, nec consectetur sapien. Integer at eros sapien. Phasellus luctus, diam eu iaculis porta.
</p>
<!--Căn Giữa Đường Dẫn Văn Bản-->
<div class="duong_dan">
  <a href="#">Đường dẫn 1</a>
  <a href="#">Đường dẫn 2</a>
</div>

CSS

p, .duong_dan {
  text-align: center;
  background: DodgerBlue;
  margin: 20px 0;
  padding: 10px;
  color: #fff;
}
.duong_dan a {
  text-decoration: none;
  background: #333;
  border-radius: 5px;
  color: white;
  padding: 6px 8px;
}

Và kết quả bạn xem Codepen bên dưới nhé:

See the Pen căn giữa bằng text-align by haycuoilennao19 (@haycuoilennao19) on CodePen.

Sử dụng margin auto

Thuộc tính này thường được sử dụng cho các phần tử block-element và được thực hiện bằng cách xác định thuộc tính auto cho lề trái và lề phải của đối tượng. Để hiểu rõ hơn bạn xem đoạn mã sau nhé:

HTML

<!--Niềm Vui Lập Trình-->
<!--Căn Giữa Phần tử-->
<div class="container">
  <div class="child">
    <p>
 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut et vehicula lorem, nec consectetur sapien. Integer at eros sapien. Phasellus luctus, diam eu iaculis porta.    </p>
  </div>
</div>

CSS

.container {
  background: #333;
  margin: 20px 0;
  padding: 10px;
}
.child {
  margin: 0 auto;
  width: 200px;
  background: DodgerBlue;
  padding: 20px;
  color: white;
  border-radius: 15px;
}

Và kết quả bạn xem bên dưới đây nhé:

See the Pen Sử dụng margin auto by haycuoilennao19 (@haycuoilennao19) on CodePen.

Sử dụng justify-content

Cách tiếp theo để căn giữa phần tử là chúng ta sẽ dùng hai thuộc tính là display: flexjustify-content. Để hiểu rõ hơn bạn xem ví dụ sau nhé:

HTML

<!--Niềm Vui Lập Trình-->
<!--Căn Giữa Phần tử-->
<div class="container">
  <div class="child">
    <p>
 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut et vehicula lorem, nec consectetur sapien. Integer at eros sapien. Phasellus luctus, diam eu iaculis porta.    </p>
  </div>
</div>

CSS

.container {
  background: #333;
  margin: 20px 0;
  padding: 10px;
/*Sử dụng hai thuộc tính bên dưới để căn giữa nhé*/
  display: flex;
 justify-content: center;
}
.child {
  width: 200px;
  background: DodgerBlue;
  padding: 20px;
  color: white;
  border-radius: 15px;
}

Và kết quả bạn xem Codepen bên dưới nhé:

See the Pen sử dụng justify-content trong grid by haycuoilennao19 (@haycuoilennao19) on CodePen.

Căn Giữa Theo Chiều Dọc

Sử dụng position

Trong phần này chúng ta sẽ sử dụng thuộc tính position:relative cho thẻ div cha(nơi chứa phần tử con ta muốn căn giữa).
Sau đó ta sẽ sử dụng thuộc tính position: absolute và một số thuộc tính khác để có thể thực hiện canh giữa cho thẻ div con bằng đoạn code sau nhé:

HTML

 <!--Niềm Vui Lập Trình-->
<!--Căn Giữa Phần tử bằng position-->
<div class="container">
  <div class="child">
    <p>
      Lorem ipsum dolor sit amet....
   </p>
  </div>
</div>

CSS

.container {
  background: #333;
  margin: 20px 0;
  padding: 100px;
  position: relative
}
.child {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 400px;
  background: DodgerBlue;
  padding: 10px;
  color: white;
  border-radius: 15px;
}

Và kết quả bạn xem bên dưới nha:

See the Pen XWjMLVz by haycuoilennao19 (@haycuoilennao19) on CodePen.

Sử dụng flex box

Trong phần này chúng ta sẽ sử dụng hai thuộc tính là display: flex;align-items: center; để căn giữa phần tử theo chiều dọc nhé!

HTML

 <!--Niềm Vui Lập Trình-->
<!--Căn Giữa Phần tử bằng position-->
<div class="container">
  <div class="child">
    <p>
      Lorem ipsum dolor sit amet....
   </p>
  </div>
</div>

CSS

.container {
  background: #333;
  margin: 20px 0;
  padding: 100px 0px;
  height: 300px;
  display: flex;
  align-items: center;
}
.child {
  width: 400px;
  background: DodgerBlue;
  padding: 10px;
  color: white;
  border-radius: 15px;
}

Và kết quả bạn xem bên dưới nha:

See the Pen zYKZVjR by haycuoilennao19 (@haycuoilennao19) on CodePen.

Căn Giữa Theo Cả Chiều Ngang Và Chiều Dọc

Sử dụng flex

Bây giờ chúng ta sẽ sử dụng thuộc tính flex để căn giữa phần tử theo chiều dọc, chiều ngang thông qua đoạn mã bên dưới nhé!

HTML

 <!--Niềm Vui Lập Trình-->
<!--Căn Giữa Phần tử bằng position-->
<div class="container">
  <div class="child">
    <p>
      Lorem ipsum dolor sit amet....
   </p>
  </div>
</div>

CSS

.container {
  background: #333;
  margin: 20px 0;
  padding: 100px 0px;
  height: 200px;
  display: flex;
  justify-content: center;
  align-content: center;
}
.child {
  width: 400px;
  background: DodgerBlue;
  padding: 10px;
  color: white;
  border-radius: 15px;
}

Và kết quả cuối cùng bạn xem bên dưới nhé:

See the Pen LYRWKMM by haycuoilennao19 (@haycuoilennao19) on CodePen.

Sử dụng position

Cách tiếp theo chúng ta sẽ sử dụng thuộc tính position để căn giữa phần tử theo cả hai chiều trong website nhé!

HTML

 <!--Niềm Vui Lập Trình-->
<!--Căn Giữa Phần tử bằng position-->
<div class="container">
  <div class="child">
    <p>
      Lorem ipsum dolor sit amet....
   </p>
  </div>
</div>

CSS

.container {
  background: #333;
  margin: 20px 0;
  padding: 100px 0px;
  height: 200px;
  position: relative;
}
.child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 400px;
  background: DodgerBlue;
  padding: 10px;
  color: white;
  border-radius: 15px;
}

Và kết quả cuối cùng bạn xem bên dưới nhé:

See the Pen căn giữa phần tử bằng position by haycuoilennao19 (@haycuoilennao19) on CodePen.

Tổng kết:

Qua đây mình mong bài viết sẽ cung cấp thêm cho bạn những cách để cab8 giữa phần tử hữu ích dành cho việc phát triển, thiết kế web và nếu có thắc mắc gì cứ gửi email mình sẽ phản hồi sớm nhất có thể. Rất mong bạn tiếp tục ủng hộ trang web để mình có thể viết nhiều bài hay hơn nữa nhé. Chúc bạn có một ngày vui vẻ!

Load WooCommerce Stores in 249ms!