Hiệu ứng hover css và a href css
1. Hiệu ứng hover css là gì?
Trong CSS, hover
là một pseudo-class (giả lớp) được sử dụng để áp dụng các kiểu dáng cho một phần tử khi con trỏ chuột di chuyển qua (hoặc "hover" lên) phần tử đó.
Cú pháp:
css
selector:hover { /* Thuộc tính CSS áp dụng khi hover */ }
Đặc điểm của hover
:
-
Hoạt động khi tương tác với chuột:
- Khi người dùng di chuột qua phần tử, CSS bên trong
hover
được kích hoạt. - Khi chuột rời khỏi phần tử, các kiểu dáng sẽ trở về trạng thái ban đầu.
- Khi người dùng di chuột qua phần tử, CSS bên trong
-
Hỗ trợ nhiều phần tử:
- Thường áp dụng cho các phần tử có thể tương tác như
a
(liên kết),button
(nút bấm), nhưng cũng hoạt động trên các phần tử khác nhưdiv
,img
.
- Thường áp dụng cho các phần tử có thể tương tác như
-
Ứng dụng phổ biến:
- Hiệu ứng khi di chuột qua nút hoặc liên kết (thay đổi màu nền, màu chữ).
- Tạo các hoạt ảnh (animation) khi con trỏ chuột qua.
-
Kết hợp với các thuộc tính khác:
- Có thể được sử dụng cùng
transition
hoặcanimation
để tạo hiệu ứng mượt mà hơn.
- Có thể được sử dụng cùng
Ví dụ:
1. Thay đổi màu chữ khi hover:
css
a:hover {
color: red;
text-decoration: underline;
}
Khi di chuột vào liên kết, màu của chữ sẽ chuyển sang đỏ và có gạch chân.
2. Thay đổi màu nền nút bấm khi hover:
css
button:hover {
background-color: green;
color: white;
}
Khi di chuột vào nút, nền sẽ chuyển sang màu xanh lá và chữ chuyển sang màu trắng.
3. Tạo hiệu ứng phóng to hình ảnh:
css
img:hover {
transform: scale(1.1); /* Phóng to 10% */
transition: transform 0.3s ease; /* Hiệu ứng mượt */
}
4. Hiển thị phần tử ẩn khi hover:
html
<div class="container"> Di chuột vào đây <span class="tooltip">Tooltip xuất hiện!</span> </div>
css
.container .tooltip {
visibility: hidden; /* Ẩn tooltip mặc định */
opacity: 0; transition: opacity 0.3s ease;
}
.container:hover .tooltip {
visibility: visible; /* Hiển thị tooltip khi hover */
opacity: 1;
}
Lưu ý:
- Không hỗ trợ trên thiết bị cảm ứng:
hover
không hoạt động trên các thiết bị không có con trỏ chuột, như điện thoại thông minh hoặc máy tính bảng. - Nên kết hợp với
focus
: Với các phần tử tương tác (nhưbutton
hoặca
), hãy cung cấp trải nghiệm tương tự cho người dùng điều hướng bàn phím bằng pseudo-class:focus
.
Ứng dụng thực tế của hover
:
- Thay đổi kiểu dáng liên kết (highlight khi di chuột).
- Tạo nút bấm hiệu ứng đẹp.
- Hiển thị tooltip hoặc menu phụ.
- Kích hoạt hoạt ảnh động.
Sử dụng hover
giúp cải thiện trải nghiệm người dùng và tăng tính tương tác cho giao diện web.
2. Cách sử dụng a href css
a
(anchor tag) trong HTML được dùng để tạo liên kết, và bạn có thể sử dụng CSS để tùy chỉnh giao diện và tương tác của chúng. Dưới đây là cách sử dụng và các kiểu thường gặp khi làm việc với a href
trong CSS.
Cú pháp cơ bản:
css
a { /* Thuộc tính CSS áp dụng cho liên kết */ }
Các trạng thái pseudo-classes liên quan đến liên kết:
a:link
– Liên kết chưa được nhấp vào.a:visited
– Liên kết đã được nhấp vào (và trang đã được truy cập).a:hover
– Liên kết khi di chuột qua.a:active
– Liên kết khi đang nhấn chuột vào.a:focus
– Liên kết được focus (hữu ích cho điều hướng bàn phím).
Lưu ý thứ tự: Khi khai báo các kiểu này, bạn nên tuân theo quy tắc LVHA (Link, Visited, Hover, Active):
css
a:link { /* Style cho liên kết chưa ghé thăm */ }
a:visited { /* Style cho liên kết đã ghé thăm */ }
a:hover { /* Style khi di chuột qua */ }
a:active { /* Style khi nhấp chuột vào */ }
Ví dụ:
1. Định dạng cơ bản:
css
a {
color: blue; /* Màu chữ */
text-decoration: none; /* Bỏ gạch chân */
font-weight: bold; /* Chữ đậm */
}
a:hover {
color: red; /* Thay đổi màu khi hover */
text-decoration: underline; /* Hiện gạch chân khi di chuột */
}
2. Định dạng riêng cho các trạng thái:
css
a:link { color: blue; text-decoration: none; }
a:visited { color: purple; }
a:hover { color: green; text-decoration: underline; }
a:active { color: orange; }
3. Tạo nút từ thẻ a
:
html
<a href="https://example.com" class="button">Nhấp vào đây</a>
css
.button {
display: inline-block; /* Hiển thị như khối */
padding: 10px 20px; /* Thêm khoảng cách trong nút */
background-color: #007bff; /* Màu nền */
color: white; /* Màu chữ */
text-decoration: none; /* Không gạch chân */
border-radius: 5px; /* Bo góc */ font-size: 16px; }
.button:hover { background-color: #0056b3; /* Màu khi hover */
}
4. Ẩn liên kết nhưng vẫn cho người dùng tương tác:
css
a.hidden {
text-decoration: none;
color: transparent; border: none;
}
Các mẹo khi làm việc với a href
:
-
Tắt hiệu ứng gạch chân mặc định:
Nếu bạn không muốn gạch chân các liên kết:css
a { text-decoration: none; }
-
Phân biệt liên kết nội bộ và ngoại bộ:
Bạn có thể thêm biểu tượng để làm rõ liên kết ra ngoài trang web:css
a.external::after { content: " ????"; }
-
Tạo hiệu ứng khi hover:
Thêm chuyển động để cải thiện trải nghiệm:css
a { transition: color 0.3s ease; }
a:hover { color: red; }
Tính tương thích:
- Hầu hết các thuộc tính CSS hoạt động trên thẻ
a
, nhưng một số như::after
hoặc::before
chỉ xuất hiện khi liên kết được gán nội dung.
Xem ví dụ trên jsfiddle: https://jsfiddle.net/bangnguyen/w7t86kr3/
CSS giúp bạn tùy chỉnh và kiểm soát giao diện liên kết để phù hợp với thiết kế của trang web, đảm bảo trải nghiệm người dùng tốt hơn.