CSS thả xuống
Tạo menu thả xuống có thể di chuột bằng CSS.
Demo: Ví dụ thả xuống
Di chuyển chuột qua các ví dụ dưới đây:
Thả xuống cơ bản
Tạo hộp thả xuống xuất hiện khi người dùng di chuyển chuột qua một phần tử.
Ví dụ
<style>
.dropdown {
position: relative;
display: inline-block;
}
.dropdown-content {
display:
none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
padding:
12px 16px;
z-index: 1;
}
.dropdown:hover
.dropdown-content {
display: block;
}
</style>
<div class="dropdown">
<span>Mouse over me</span>
<div class="dropdown-content">
<p>Hello World!</p>
</div>
</div>
Hãy tự mình thử »Ví dụ giải thích
HTML) Sử dụng bất kỳ phần tử nào để mở nội dung thả xuống, ví dụ: phần tử <span> hoặc <button>.
Sử dụng phần tử vùng chứa (như <div>) để tạo nội dung thả xuống và thêm bất kỳ nội dung nào bạn muốn vào bên trong nội dung đó.
Bao bọc phần tử <div> xung quanh các phần tử để định vị chính xác nội dung thả xuống bằng CSS.
CSS) Lớp .dropdown
sử dụng position:relative
, điều này cần thiết khi chúng ta muốn nội dung thả xuống được đặt ngay bên dưới nút thả xuống (sử dụng position:absolute
).
Lớp .dropdown-content
chứa nội dung thả xuống thực tế. Nó được ẩn theo mặc định và sẽ được hiển thị khi di chuột (xem bên dưới). Lưu ý min-width
được đặt thành 160px. Hãy thoải mái thay đổi điều này. Mẹo: Nếu bạn muốn chiều rộng của nội dung thả xuống rộng bằng nút thả xuống, hãy đặt width
thành 100% (và overflow:auto
để bật cuộn trên màn hình nhỏ).
Thay vì sử dụng đường viền, chúng tôi đã sử dụng thuộc tính CSS box-shadow
để làm cho menu thả xuống trông giống như một "thiệp".
Bộ chọn :hover
được sử dụng để hiển thị menu thả xuống khi người dùng di chuyển chuột qua nút thả xuống.
Trình đơn thả xuống
Tạo menu thả xuống cho phép người dùng chọn một tùy chọn từ danh sách:
Ví dụ này tương tự như ví dụ trước, ngoại trừ việc chúng tôi thêm các liên kết bên trong hộp thả xuống và tạo kiểu cho chúng phù hợp với nút thả xuống được tạo kiểu:
Ví dụ
<style>
/* Style The Dropdown Button */
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
cursor: pointer;
}
/* The
container <div> - needed to position the dropdown content */
.dropdown {
position: relative;
display:
inline-block;
}
/* Dropdown Content (Hidden by Default) */
.dropdown-content {
display: none;
position:
absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow:
0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
/* Links inside the dropdown */
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
/* Change color of dropdown links on hover */
.dropdown-content a:hover {background-color: #f1f1f1}
/* Show the
dropdown menu on hover */
.dropdown:hover .dropdown-content {
display: block;
}
/* Change the background color of the dropdown
button when the dropdown content is shown */
.dropdown:hover .dropbtn {
background-color: #3e8e41;
}
</style>
<div class="dropdown">
<button class="dropbtn">Dropdown</button>
<div class="dropdown-content">
<a href="#">Link
1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
</div>
</div>
Hãy tự mình thử »Nội dung thả xuống được căn phải
Nếu bạn muốn menu thả xuống đi từ phải sang trái, thay vì từ trái sang phải, hãy thêm right: 0;
Thêm ví dụ
Hình ảnh thả xuống
Cách thêm hình ảnh và nội dung khác vào hộp thả xuống.
Di chuột qua hình ảnh: