Ngôn ngữ CSS - CSS Display
Thuộc tính CSS display
Có bao giờ bạn thắc mắc tại sao thẻ p lại có chiều rộng là 100%, hay thẻ div, thẻ header, footer đều có chiều rộng là 100%. Nhưng ngược lại với các thẻ span, a, strong... thì nó có chiều rộng phụ thuộc vào nội dung bên trong của thẻ, không những vậy mà nó cũng không thể sử dụng được hai thuộc tính margin (top và bottom). Vậy thì trong bài này chúng ta tìm hiểu thuộc tính display và các giá trị của nó để các bạn trả lời các câu hỏi trên.
Các thuộc tính của display chính bao gồm:
- inline: hiển thị trên một hàng
- block: hiển thị dang khối
- inline-block: kết hợp cả 2 cách hiển thị trên
- none: không hiển thị
Cú pháp:
tagname {
display: giá trị;
}
1. Thuộc tính display:inline
Thuộc tính display: inline; : Thành phần sẽ hiển thị như một nội tuyến (inline, không ngắt dòng), đây là dạng mặc định. Thuộc tính này không yêu cầu chiều rộng
Ví dụ:
<html>
<head>
<style type="text/css">
span {
background: red;
display: inline;
}
</style>
</head>
<body>
<p>Đây là ví dụ cho <span>display</span> sử dụng giá trị inline.</p>
</body>
</html>
2. Thuộc tính display:block
Thuộc tính display: block; : Thành phần hiển thị như một khối, khi sử dụng giá trị block thành phần sẽ đứng một hàng độc lập so với thành phần trước và sau nó.
Ví dụ:
<html>
<head>
<style type="text/css">
span {
background: red;
display: block;
}
</style>
</head>
<body>
<p>Đây là ví dụ cho <span>display</span> sử dụng giá trị block.</p>
</body>
</html>
3. Thuộc tính display: inline-block;
Thuộc tính display: inline-block; : Thành phần sẽ hiển thị như một khối, nhưng là một khối nội tuyến.
Ví dụ:
<html>
<head>
<style type="text/css">
span {
background: red;
display: inline-block;
}
</style>
</head>
<body>
<p>Đây là ví dụ cho <span>display</span> sử dụng giá trị inline-block.</p>
</body>
</html>
4. Thuộc tính display: none;
Thuộc tính display: none; : Thành phần không hiển thị.
<html>
<head>
<style type="text/css">
span {
background: red;
display: none;
}
</style>
</head>
<body>
<p>Đây là ví dụ cho <span>display</span> sử dụng giá trị none.</p>
</body>
</html>
Các giá trị khác của của thuộc tính display
Thuộc tính | giá trị | Ví dụ | Mô tả |
---|---|---|---|
display | block | display: block; | Thành phần hiển thị như một khối, khi sử dụng giá trị block thành phần sẽ đứng một hàng độc lập so với thành phần trước và sau nó. |
inline | display: inline; | Thành phần sẽ hiển thị như một nội tuyến (inline, không ngắt dòng), đây là dạng mặc định. | |
inline-block | display: inline-block; | Thành phần sẽ hiển thị như một khối, nhưng là một khối nội tuyến. | |
inline-table | display: inline-table; | Thành phần sẽ hiển thị như một khối nội tuyến, đối xử tương tự <table>, không ngắt dòng trước và sau thành phần. | |
list-item | display: list-item; | Thành phần sẽ hiển thị như một khối và một nội tuyến cho các điểm đánh dấu danh sách. | |
none | display: none; | Thành phần không hiển thị. | |
run-in | display: run-in; | Thành phần sẽ hiển thị như một khối hoặc một nội tuyến, tùy thuộc vào bối cảnh. | |
table | display: table; | Thành phần sẽ đối xử như một table, ngắt dòng trước và sau thành phần. | |
table-caption | display: table-caption; | Thành phần sẽ đối xử như một <caption> của table. | |
table-cell | display: table-cell; | Thành phần sẽ đối xử như một ô trong table. | |
table-column | display: table-column; | Thành phần sẽ đối xử như một cột trong table. | |
table-column-group | display: table-column-group; | Thành phần sẽ đối xử như một nhóm cột (<colgroup>) trong table. | |
table-footer-group | display: table-footer-group; | Thành phần sẽ đối xử như một nhóm footer (<tfoot>) trong table. | |
table-header-group | display: table-header-group; | Thành phần sẽ đối xử như một nhóm header (<thead>) trong table. | |
table-row | display: table-row; | Thành phần sẽ đối xử như một hàng trong table. | |
table-row-group | display: table-row-group; | Thành phần sẽ đối xử như một nhóm hàng trong table. | |
inherit | display: inherit; | Xác định thừa hưởng thuộc tính từ thành phần cha (thành phần bao ngoài). |
5. display: inline-table
Thuộc tính display: inline-table; : Thành phần sẽ hiển thị như một khối nội tuyến, tương tự <table>, không ngắt dòng trước và sau thành phần.
Ví dụ:
<html>
<head>
<style type="text/css">
span {
background: red;
display: inline-table;
}
</style>
</head>
<body>
<p>Đây là ví dụ cho <span>display</span> sử dụng giá trị inline-table.</p>
</body>
</html>
6. display: list-item
Thuộc tính display: list-item; : Thành phần sẽ hiển thị như một khối và một nội tuyến cho các điểm đánh dấu danh sách.
Ví dụ:
<html>
<head>
<style type="text/css">
span {
background: red;
display: list-item;
}
</style>
</head>
<body>
<p>Đây là ví dụ cho <span>display</span> sử dụng giá trị list-item.</p>
</body>
</html>
7. display: table
Thuộc tính display: table; : Thành phần sẽ tương tự như một <table>, ngắt dòng trước và sau thành phần.
Ví dụ:
<html>
<head>
<style type="text/css">
span {
background: red;
display: table;
}
</style>
</head>
<body>
<p>Đây là ví dụ cho <span>display</span> sử dụng giá trị table.</p>
</body>
</html>
8. Thuộc tính :
display: table;
display: table-caption;
display: table-cell;
display: table-column;
display: table-column-group;
display: table-footer-group;
display: table-header-group;
display: table-row;
display: table-row-group;
Ví dụ: Các thuộc tính display trên dùng để định nghĩa tương tự như các phần tử của table.
<html>
<head>
<style type="text/css">
div.table {
border-collapse: collapse;
display: table;
width: 200px;
}
div.caption {
display: table-caption;
}
div.tHead {
display: table-header-group;
font-weight: bold;
}
div.tCell {
border: 1px solid #ccc;
display: table-cell;
}
div.tRow {
display: table-row;
}
div.tFoot {
display: table-footer-group;
}
</style>
</head>
<body>
<div class="table">
<div class="caption">Caption của table</div>
<div class="tHead">
<div class="tCell">A1</div>
<div class="tCell">A2</div>
</div>
<div class="tRow">
<div class="tCell">B1</div>
<div class="tCell">B2</div>
</div>
<div class="tRow">
<div class="tCell">C1</div>
<div class="tCell">C2</div>
</div>
<div class="tFoot">
<div class="tCell">D1</div>
<div class="tCell">D2</div>
</div>
</div>
</body>
</html>
Giá trị display ở trên tương tự table sau đây:
<html>
<head>
<style type="text/css">
table {
border-collapse: collapse;
width: 200px;
}
table caption {
text-align: left;
}
table th {
border: 1px solid #ccc;
text-align: left;
}
table td {
border: 1px solid #ccc;
}
</style>
</head>
<body>
<table>
<caption>Caption của table</caption>
<thead>
<tr>
<th>A1</th>
<th>A2</th>
</tr>
</thead>
<tr>
<td>B1</td>
<td>B2</td>
</tr>
<tr>
<td>C1</td>
<td>C2</td>
</tr>
<tfoot>
<tr>
<td>D1</td>
<td>D2</td>
</tr>
</tfoot>
</table>
</body>
</html>