Chính CSS không hỗ trợ bộ chọn mousein
hoặc mouseout
.
Bộ chọn :hover
sẽ áp dụng cho phần tử trong khi chuột kết thúc, thêm kiểu khi chuột vào và xóa kiểu khi chuột rời.
Cách tiếp cận gần nhất là xác định kiểu bạn sẽ đặt trong mouseout
trong kiểu mặc định (không di chuột) của bạn. Khi bạn di chuột qua phần tử, các kiểu trong phạm vi hover
sẽ có hiệu lực, mô phỏng mousein
và khi bạn di chuyển chuột ra khỏi phần tử, kiểu mặc định sẽ có hiệu lực trở lại, mô phỏng mouseout
.
Dưới đây là một example, lấy từ here:
div {
background: #2e9ec7;
color: #fff;
margin: 0 auto;
padding: 100px 0;
-webkit-transition: -webkit-border-radius 0.5s ease-in;
-moz-transition: -moz-border-radius 0.5s ease-in;
-o-transition: border-radius 0.5s ease-in;
-ms-transition: border-radius 0.5s ease-in;
transition: border-radius 0.5s ease-in;
text-align: center;
width: 200px;
}
div:hover {
background: #2fa832;
-webkit-border-radius: 100px;
-moz-border-radius: 100px;
border-radius: 100px;
-webkit-transition: all 1s ease;
-moz-transition: all 1s ease;
-o-transition: all 1s ease;
-ms-transition: all 1s ease;
transition: all 1s ease;
-webkit-transform: rotate(720deg);
-moz-transform: rotate(720deg);
-o-transform: rotate(720deg);
-ms-transform: rotate(720deg);
transform: rotate(720deg);
}
Các transition
s được định nghĩa cho div:hover
phong cách sẽ có hiệu lực khi chuột vào (và hover
được áp dụng). transition
s cho kiểu div
sẽ có hiệu lực khi chuột rời (và hover
bị xóa). Điều này dẫn đến các chuyển đổi mousein
và mouseout
khác nhau.
Giải pháp tuyệt vời phù hợp với tôi. – Huw