CSS - 伪类 :hover 属性



CSS 中的:hover 伪类用于在用户将鼠标光标悬停在元素上时将其作为目标。其目的是应用样式或触发特定行为,以增强用户体验或提供额外的视觉反馈。

:hover 有助于使交互式元素更加动态和引人入胜,而无需用户除了移动鼠标之外的任何输入。

语法

:hover { /* ... */ }

CSS :hover 示例

这是一个在悬停时更改链接背景颜色的示例

Open Compiler
<html> <head> <style> div { padding: 1rem; } a { background-color: rgb(238, 135, 9); font-size: 1rem; padding: 5px; } a:hover { background-color: rgb(235, 235, 169); } </style> </head> <body> <div> <h3>Hover example - link</h3> <a href="#">Hover over to see the color change!!!</a> </div> </body> </html>

这是一个在悬停时更改按钮背景颜色的示例

Open Compiler
<html> <head> <style> div { padding: 1rem; } button { background-color: greenyellow; font-size: large; } button:hover { background-color: gold; } </style> </head> <body> <h3>Hover example - button</h3> <button>Hover me!!!</button> </div> </body> </html>

这是一个在悬停时更改链接边框的示例

Open Compiler
<html> <head> <style> .link { color: blue; text-transform: uppercase; padding: 20px; border: 4px solid blue; border-radius: 10px; display: inline-block; } .link:hover { color: #494949; border-radius: 45px; border-color: #494949; } </style> </head> <body> <h3>Hover effect on border of the link</h3> <div class="button"><a class="link" href="#">Check my borders on hover</a></div> </body> </html>

这是一个在悬停时向链接添加盒阴影的示例

Open Compiler
<html> <head> <style> a { font-size: 2rem; color: #071402; margin: 0 .25rem; padding: 0 .25rem; transition: color .3s ease-in-out, box-shadow .3s ease-in-out; } a:hover { box-shadow: inset 100px 0 0 100px #9ce2cc; color: rgb(240, 32, 32); } </style> </head> <body> <div> <a href="#">Hover over me!!</a> </div> </body> </html>

这是一个在悬停时链接背景扩展的示例

Open Compiler
<html> <head> <style> a { text-decoration-line: underline; color: #18272F; font-size: 2rem; position: relative; } a::before { content: ''; background-color: rgba(118, 213, 83, 0.75); font-size: 2rem; position: absolute; left: 0; bottom: 3px; width: 100%; height: 10px; z-index: -1; transition: all .5s ease-in-out; } a:hover::before { bottom: 0; height: 100%; } </style> </head> <body> <div> <a href="#">Hover over me!!</a> </div> </body> </html>

这是一个在悬停时链接下划线呈现彩虹颜色效果的示例

Open Compiler
<html> <head> <style> a { color: black; text-decoration: none; } a { background: linear-gradient( to right, rgb(179, 232, 168), rgb(185, 162, 215) ), linear-gradient( to right, rgba(255, 0, 0, 1), rgba(255, 0, 180, 1), rgba(0, 200, 50, 1) ); background-size: 100% 5px, 0 5px; background-position: 100% 100%, 0 100%; background-repeat: no-repeat; transition: background-size 700ms; } a:hover { background-size: 0 5px, 100% 5px; } body { display: grid; font-family: Verdana, Geneva, Tahoma, sans-serif; font-size: 2rem; height: 100vh; } </style> </head> <body> <div> <a href="#">Hover over me!!</a> </div> </body> </html>

这是一个在悬停时为按钮添加阴影效果的示例

Open Compiler
<html> <head> <style> body { display: grid; justify-content: center; align-items: center; } .glow { padding: 10px; width: 250px; height: 50px; border: none; outline: none; color: #fff; background: #111; cursor: pointer; position: relative; z-index: 0; border-radius: 20px; } .glow:before { content: ''; background: linear-gradient(60deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); position: absolute; top: -4px; left:-4px; background-size: 400%; z-index: -1; filter: blur(15px); width: calc(100% + 6px); height: calc(100% + 6px); animation: glowing 20s linear infinite; opacity: 0; transition: opacity .3s ease-in-out; border-radius: 10px; } .glow:active { color: rgb(246, 235, 235) } .glow:active:after { background: transparent; } .glow:hover:before { opacity: 1; } .glow:after { z-index: -1; content: ''; position: absolute; width: 100%; height: 100%; background: #111; left: 0; top: 0; border-radius: 10px; } @keyframes glowing { 0% { background-position: 0 0; } 50% { background-position: 400% 0; } 100% { background-position: 0 0; } } </style> </head> <body> <button class="glow" type="button">HOVER OVER & CLICK!</button> </body> </html>
广告