要在悬停和单击时更改块的颜色,并保持活动状态,可以使用HTML、CSS和JavaScript来实现。以下是一个完整的示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Color Change on Hover and Click</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="color-block" id="colorBlock">Click or Hover Me!</div>
<script src="script.js"></script>
</body>
</html>
.color-block {
width: 200px;
height: 200px;
background-color: #ccc;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
transition: background-color 0.3s ease;
}
.color-block.active {
background-color: #007bff;
}
.color-block:hover {
background-color: #6c757d;
}
document.addEventListener('DOMContentLoaded', function() {
const colorBlock = document.getElementById('colorBlock');
colorBlock.addEventListener('click', function() {
colorBlock.classList.toggle('active');
});
});
div
元素,并为其添加一个ID以便在JavaScript中引用。.color-block
: 定义块的基本样式,包括宽度、高度、背景颜色、居中对齐和鼠标指针样式。.color-block.active
: 定义当块处于活动状态时的背景颜色。.color-block:hover
: 定义当鼠标悬停在块上时的背景颜色。DOMContentLoaded
事件确保DOM完全加载后再执行脚本。colorBlock
元素,并为其添加点击事件监听器。active
类的存在,从而改变块的背景颜色。这种效果常用于用户界面设计中,以提供视觉反馈,指示用户当前选中的元素或悬停状态。例如,在导航菜单、按钮或卡片组件中都可以使用这种效果。
!important
来覆盖其他样式规则(但应谨慎使用)。通过这种方式,你可以实现一个简单而有效的悬停和单击颜色变化效果,并保持活动状态。
领取专属 10元无门槛券
手把手带您无忧上云