Cách tạo hiệu ứng khi rê chuột qua (hover) bằng CSS
Các nhà thiết kế website chắc chắn không còn xa lạ gì với CSS - công cụ vẫn được dùng để “thay áo” cho giao diện website. Bài viết dưới đây sẽ hướng dẫn cách tạo hiệu ứng vui mắt, thay đổi màu sắc dưới dạng gradient, khi người dùng rê chuột qua một phần nào đó trên trang web.

Hiệu ứng gradient khi rê trỏ chuột qua nút bấm
Đặt vị trí cho trỏ chuột
Bước đầu tiên là đặt vị trí cho trỏ chuột để theo dõi chuyển động bằng đoạn code dưới đây.
document.querySelector('.button').onmousemove = (e) => {const x = e.pageX - e.target.offsetLeftconst y = e.pageY - e.target.offsetTope.target.style.setProperty('--x', `${ x }px`)e.target.style.setProperty('--y', `${ y }px`)
}
Những dòng code trên tương ứng với 3 bước:
- Chọn phần tử và chờ tới khi người dùng rê chuột qua đó.
- Tính toán vị trí tương ứng với phần tử.
- Lưu tọa độ trong biến CSS.
Chỉ mất 9 dòng code để CSS biết được vị trí trỏ chuột của người dùng.
Tạo hiệu ứng gradient
Khi đã có tọa độ lưu trong biến CSS, bạn có thể dùng chúng ở bất cứ đâu trong tập tin CSS.
.button {position: relative;appearance: none;background: #f72359;padding: 1em 2em;border: none;color: white;font-size: 1.2em;cursor: pointer;outline: none;overflow: hidden;border-radius: 100px;span {position: relative;}&::before {--size: 0;content: '';position: absolute;left: var(--x);top: var(--y);width: var(--size);height: var(--size);background: radial-gradient(circle closest-side, #4405f7, transparent);transform: translate(-50%, -50%);transition: width .2s ease, height .2s ease;}&:hover::before {--size: 400px;}}
- Gói đoạn văn bản bên trong
spanđể tránh phần gradient tràn ra ngoài. - Bắt đầu bằng
widthvàheightcủa0pxvà đưa lên thành400pxkhi người dùng rê chuột qua. Đừng quên đặt chuyển tiếp để hiệu ứng được mượt mà. - Dùng tọa độ để hiệu ứng đi theo trỏ chuột.
- Dùng
radial-gradientcho background và chọn vòng trònclosest-sideđể gradient kết thúc ở góc gần trung tâm nhất, nếu có 2 vị trí đáp ứng yêu cầu, nó sẽ được phân phối đều.
Khi có được tọa độ chuột, bạn có thể sáng tạo và áp dụng nhiều hiệu ứng thú vị khác. Hãy thử sức và đừng quên chia sẻ nhé.
Xem thêm:
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:
Cũ vẫn chất
-

Hướng dẫn chèn chữ vào ảnh trong Word
Hôm qua -

Cách sửa lỗi BSOD Memory Management
Hôm qua 1 -

Code Super Snail mới nhất và cách nhập code
Hôm qua -

57+ câu đố về địa danh Việt Nam
Hôm qua 5 -

Một số cách thắt nút dây cực hay ai cũng nên biết
Hôm qua -

Phản ứng nguyên tố Genshin Impact, kết hợp nguyên tố Genshin Impact
Hôm qua -

Hướng dẫn sửa nhanh lỗi "Inaccessible Boot Device" trên Windows
Hôm qua -

Cách xóa tin nhắn Telegram, lịch sử tin nhắn Telegram
Hôm qua -

Code All Star Tower Defense 08/11/2025 mới nhất, đổi gems và stardust
Hôm qua 3 -

Cách bật đăng ẩn danh nhóm Facebook
Hôm qua
Học IT
Công nghệ
Microsoft Word 2013
Microsoft Word 2007
Microsoft Excel 2019
Microsoft Excel 2016
Microsoft PowerPoint 2019
Google Sheets
Lập trình Scratch
Bootstrap
Hướng dẫn
Ô tô, Xe máy