Đăng nhập

Bài 11: Display – Kiểm soát cách phần tử hiển thị và chiếm không gian

Trong HTML, mỗi phần tử khi hiển thị sẽ chiếm không gian theo một cách nhất định: có cái chiếm cả dòng, có cái chỉ chiếm theo nội dung, có cái ẩn hoàn toàn khỏi giao diện.

Hiểu được các giá trị của thuộc tính display trong CSS là chìa khóa để sắp xếp layout chính xác và tránh lỗi khó chịu khi làm giao diện web.

Trong bài này, chúng ta sẽ tìm hiểu kỹ về 4 giá trị cơ bản nhất: block, inline, inline-block, và none.


1. display: block – chiếm trọn một dòng

div {
  display: block;
}
  • Là kiểu mặc định của các thẻ như: div, p, h1, section, article
  • Khi một phần tử là block:
    • chiếm toàn bộ chiều ngang của dòng
    • Xuống dòng sau nó

Ví dụ:

<p>Đây là đoạn văn thứ nhất.</p>
<p>Đây là đoạn văn thứ hai.</p>

→ Hai đoạn này nằm ở hai dòng khác nhau vì p là phần tử block.


2. display: inline – không xuống dòng, chỉ chiếm vừa nội dung

span {
  display: inline;
}
  • Là kiểu mặc định của các thẻ như span, a, strong, em
  • Phần tử inline:
    • Không xuống dòng
    • Không thể đặt width, height, margin-top/bottom

Ví dụ:

<p>Nội dung <span>này là inline</span> và nằm trong dòng.</p>

span nằm trong dòng, không phá vỡ bố cục đoạn văn.


3. display: inline-block – kết hợp cả block và inline

button {
  display: inline-block;
}
  • Giống như inline:
    • Không xuống dòng
  • Giống như block:
    • Có thể đặt width, height, padding, margin

Ví dụ:

<a class="btn" href="#">Xem thêm</a>
.btn {
  display: inline-block;
  padding: 10px 20px;
  background: #2196f3;
  color: white;
  text-decoration: none;
  border-radius: 5px;
}

→ Dùng để tạo nút bấm đẹp mắt.


4. display: none – ẩn hoàn toàn phần tử

.hidden {
  display: none;
}
  • Ẩn khỏi giao diện và không chiếm chỗ
  • Dùng cho các mục như menu ẩn, popup…

Lưu ý: nếu bạn muốn ẩn tạm thời nhưng vẫn giữ chỗ, dùng visibility: hidden


5. So sánh các giá trị display

Giá trịCó xuống dòng không?Đặt kích thước được không?Có chiếm chỗ không?
block
inlineKhôngKhông
inline-blockKhông
noneKhôngKhôngKhông (ẩn hoàn toàn)

6. Thực hành

style.css

.block {
  display: block;
  background: #c8e6c9;
  padding: 10px;
  margin-bottom: 10px;
}

.inline {
  display: inline;
  background: #ffe0b2;
  padding: 5px;
}

.inline-block {
  display: inline-block;
  background: #bbdefb;
  padding: 10px 15px;
  margin-right: 10px;
  border-radius: 4px;
}

.none {
  display: none;
}

index.html

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Bài 10 – Display</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>

  <div class="block">Phần tử block – chiếm cả dòng</div>

  <span class="inline">Inline 1</span>
  <span class="inline">Inline 2</span>

  <br><br>

  <div class="inline-block">Nút 1</div>
  <div class="inline-block">Nút 2</div>

  <div class="none">Bạn sẽ không thấy dòng này</div>

</body>
</html>

7. Ghi nhớ

Thuộc tính displayTác dụng chính
blockChiếm toàn bộ dòng
inlineNằm trong dòng, không đặt size
inline-blockGiống inline, nhưng đặt được size
noneẨn phần tử, không chiếm không gian

Thảo luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.