Khóa học IT CSS Cơ bản 028_Float, Định vị, Căn chỉnh
Float
Trong CSS, float là một kỹ thuật bố cục sử dụng thuộc tính float để làm cho các phần tử nổi dọc theo bên trái hoặc bên phải của container, cho phép các phần tử khác bao quanh nó.
Ví dụ:
.div-left { float: left; } .div-right { float: right; } <div class="div-left">div-left</div> <div class="div-right">div-right</div>Hiệu ứng:
Các phần tử float có thể làm cho chiều cao của phần tử cha bị sụp đổ, có thể ảnh hưởng đến các phần tử trong các DIV khác, và nhiều phần tử float trên cùng một dòng có thể chồng lên nhau. Thuộc tính clear cần được sử dụng để kiểm soát ảnh hưởng lẫn nhau của chúng.
Ví dụ:
.div-left { float: left; } .div-right { float: right; } /* Sử dụng thuộc tính `clear` để hủy bỏ ảnh hưởng của phần tử float .content { clear: both; } */ <div class="div-left">div-left</div> <div class="div-right">div-right</div>
<div class="content"> Đây là văn bản sẽ bị ảnh hưởng. </div>Hiệu ứng:
Ví dụ:
.float-left { float: left; } .float-right { float: right; } <img class="float-left" src="zhaojian1.jpg" alt="" srcset=""> <div class="float-right">25 tháng 1, 2024</div><div class="float-right">Tiêu đề bài viết Tiêu đề bài viết Tiêu đề bài viết</div>Hiệu ứng:

Float là một kỹ thuật ban đầu để tạo bố cục nhiều cột, nhưng trong các bố cục hiện đại, các kỹ thuật bố cục linh hoạt hơn như Flexbox hoặc Grid thường được khuyến nghị.
Định vị
Trong CSS, định vị đề cập đến việc thiết lập phương pháp định vị của các phần tử thông qua thuộc tính position, và chỉ định vị trí của các phần tử so với các phần tử cha đã định vị gần nhất thông qua các thuộc tính top, right, bottom, left.
- Định vị là tương đối với phần tử tổ tiên đã định vị gần nhất (position không phải là
static). Nếu không có phần tử tổ tiên đã định vị, nó được định vị tương đối với khối chứa ban đầu (thường là phần tử<html>). - Các phần tử định vị tuyệt đối và định vị cố định được loại bỏ khỏi luồng tài liệu bình thường và có thể ảnh hưởng đến bố cục của các phần tử khác.
- Giá trị thuộc tính thường sử dụng pixel (
px) hoặc phần trăm (%).
Định vị tĩnh static
Định vị tĩnh (Static Positioning) là giá trị mặc định của thuộc tính position và thường không cần chỉ định rõ ràng. Các phần tử được định vị tĩnh được sắp xếp bình thường trong luồng tài liệu và không bị ảnh hưởng bởi các thuộc tính top, right, bottom, left.
Định vị ban đầu initial
Trong CSS, initial là một từ khóa được sử dụng để đặt lại giá trị thuộc tính về giá trị ban đầu của nó. Đối với thuộc tính position, giá trị ban đầu của nó là static. Sử dụng position: initial; tương đương với việc không thiết lập thuộc tính position.
Định vị tương đối relative
Phần tử được định vị tương đối với vị trí bình thường của nó.
Ví dụ:
.base { width: 200px; height: 200px; background-color: aquamarine; } .relative-example { position: relative; top: 100px; left: 20%; } <!-- <br>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br> Thử thêm br hoặc các phần tử khác --> <div class="base relative-example"></div>Hiệu ứng: 
Định vị tuyệt đối absolute
Phần tử được định vị tương đối với phần tử tổ tiên đã định vị gần nhất.
Ví dụ:
.base { width: 200px; height: 200px; } .absolute-example { position: absolute; top: 50px; left: 100px; background-color: blueviolet; } <br>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br> <div class="base absolute-example"></div>Hiệu ứng:

Định vị cố định fixed
Phần tử được định vị tương đối với cửa sổ trình duyệt và luôn duy trì vị trí cố định trên màn hình.
Ví dụ:
.base { width: 200px; height: 200px; } .fixed-example { position: fixed; bottom: 40%; left: 40%; background-color: gold; } <br>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br> <br>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br> <div class="base fixed-example"></div> <br>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br> <br>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>Hiệu ứng:

Định vị dính sticky
Phần tử trở thành định vị cố định khi cuộn đến một vị trí cụ thể, nếu không thì là định vị tương đối.
Ví dụ:
.base { width: 200px; height: 200px; } .sticky-example { position: sticky; top: 10%; left: 40%; background-color: darkcyan; } <br>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br> <div class="base sticky-example"></div> <br>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br> <br>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br> <br>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br> <br>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>Hiệu ứng:

Định vị kế thừa inherit
Phần tử trở thành định vị cố định khi cuộn đến một vị trí cụ thể, nếu không thì là định vị tương đối.
Ví dụ:
.base { width: 200px; height: 200px; } .inherit-example { position: inherit; top: 100%; /* Lưu ý ranh giới */ left: 100%; /* Lưu ý ranh giới */ background-color: violet; } <div class="base relative-example"> <div class="base inherit-example"></div> </div>Hiệu ứng: 
Thứ tự xếp chồng (Các phần tử chồng lên nhau)
z-index là một thuộc tính CSS được sử dụng để kiểm soát thứ tự xếp chồng. Nó xác định thứ tự hiển thị của một phần tử trong xếp chồng dọc, tức là phần tử nào sẽ ở phía trước hoặc phía sau phần tử nào.
- Giá trị
z-indexcó thể là số âm. - Các phần tử có
z-indexlớn hơn sẽ che phủ các phần tử có giá trị nhỏ hơn. z-indexchỉ hoạt động trên các phần tử đã định vị (positionkhông phải làstatic)z-indexyêu cầuopacitycủa phần tử được đặt thành khác 0
Ví dụ:
.base { width: 200px; height: 200px; position: absolute; } .z-index-example1{ background-color: red; z-index: 9; } .z-index-example2{ background-color: blue; z-index: 1; } <div class="base z-index-example1"></div> <div class="base z-index-example2"></div>Căn chỉnh
Căn chỉnh CSS đề cập đến việc kiểm soát căn chỉnh ngang và dọc của các phần tử thông qua các thuộc tính CSS. Các thuộc tính căn chỉnh CSS có thể được áp dụng cho bất kỳ phần tử nào, bao gồm văn bản, hình ảnh, bảng, danh sách, v.v.
Các thuộc tính căn chỉnh phổ biến có các giá trị sau:
- left: Căn trái
- center: Căn giữa
- right: Căn phải
- top: Căn trên
- middle: Căn giữa
- bottom: Căn dưới
Căn chỉnh ngang text-align
Được sử dụng để đặt căn chỉnh ngang của nội dung văn bản trong hộp phần tử.
Ví dụ:
.text-center { text-align: center; /* Căn giữa theo chiều ngang */}.text-left { text-align: left; /* Căn trái */}.text-right { text-align: right; /* Căn phải */}.text-justify { text-align: justify; /* Căn đều hai bên */} <div class="text-center">Đây là một câu ABCDE 12345</div> <div class="text-left">Đây là một câu ABCDE 12345</div> <div class="text-right">Đây là một câu ABCDE 12345</div> <div class="text-justify">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod velit vel sapien accumsan, ac efficitur nulla bibendum. Nullam posuere fermentum nulla, in ultricies leo gravida sit amet. Vestibulum ut mi vitae libero accumsan dapibus.</div>Hiệu ứng: 
Căn chỉnh dọc vertical-align
Được sử dụng để đặt căn chỉnh dọc của các phần tử inline bên trong một phần tử. Thường được sử dụng cho các phần tử inline và không có ảnh hưởng trực tiếp đến các phần tử cấp khối.
Ví dụ:
.base{ height: 150px;}.vertical-align-baseline { vertical-align: baseline; /* Căn chỉnh đường cơ sở mặc định */}.vertical-align-top { vertical-align: top; /* Căn trên */}.vertical-align-middle { vertical-align: middle; /* Căn giữa */}.vertical-align-bottom { vertical-align: bottom; /* Căn dưới */} <div class="base"> <img class="vertical-align-baseline" src="zhaojian1.jpg" alt="" srcset="">Đây là một câu ABCDE 12345 </div> <div class="base"> <img class="vertical-align-top" src="zhaojian1.jpg" alt="" srcset="">Đây là một câu ABCDE 12345 </div> <div class="base"> <img class="vertical-align-middle" src="zhaojian1.jpg" alt="" srcset="">Đây là một câu ABCDE 12345 </div> <div class="base"> <img class="vertical-align-bottom" src="zhaojian1.jpg" alt="" srcset="">Đây là một câu ABCDE 12345 </div>Hiệu ứng:
