Overflow trong CSS

Đặc tính CSS overflow xác định nội dung sẽ hiển thị ra sao khi nó quá lớn so với khung định sẵn.

CSS Overflow

Đặc tính overflow cho biết liệu có cắt nội dung hay thêm thanh cuộn vào nội dung của phần tử khi nó quá lớn so với khu vực được định trước. Nó có các giá trị sau:

  • visible – mặc định, phần tràn ra không bị cắt mà hiển thị ra ngoài hộp phần tử.
  • hidden – phần tràn ra bị cắt và bị ẩn.
  • scroll – phần tràn ra bị cắt nhưng sẽ có thanh cuộn để xem phần còn lại của nội dung.
  • auto – nếu phần tràn ra bị cắt, sẽ có thêm thanh cuộn để xem phần còn lại của nội dung.

Lưu ý: Đặc tính overflow chỉ dùng với phần tử khối đã có độ cao định sẵn. Trên OS X Lion, thanh cuộn mặc định bị ẩn, chỉ hiện khi được dùng.

overflow: visible

Mặc định overflow được đặt là visible, nghĩa là sẽ không bị cắt và hiển thị ra bên ngoài hộp.

div {  width: 200px;  height: 50px;  background-color: #eee;  overflow: visible; }


Phần tràn ra vẫn hiển thị

overflow: hidden

Khi dùng giá trị hidden, phần tràn ra sẽ bị cắt và bị ẩn.

div {  overflow: hidden; }


Phần tràn ra bị ẩn sau khung kích thước định sẵn

overflow: scroll

Khi được đặt giá trị scroll, phần tràn sẽ được được cắt đi và nằm trong một thanh cuộn mới. Lưu ý là sẽ có cả thanh cuộn ngang và dọc (ngay cả khi bạn không cần).

div { overflow: scroll; }


Thanh cuộn để xem phần nội dung còn lại

overflow: auto

Giá trị auto cũng tương tự như scroll, chỉ có điều nó sẽ thêm thanh cuộn khi cần.

div {  overflow: auto; }

overflow-x và overflow-y

Các đặc tính overflow-x và overflow-y được dùng để xác định xem phần tràn ra sẽ hiển thị theo chiều ngang, dọc hay cả hai.

div {  overflow-x: hidden; /* Hide horizontal scrollbar */  overflow-y: scroll; /* Add vertical scrollbar */ }