图标移上去改变(变色)

本文介绍了一种使用CSS替换背景图片的方法,通过修改.icon1类的背景图片源,实现鼠标悬停时图片的动态变化。这种方法可以应用于网页设计中,为用户提供更丰富的视觉体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一:通过背景图片的替换: 

.icon1{background:url(images/i1.png) no-repeat; background-size:40%;width: 100%; height: 100px; margin-left: 32%  }
.icon1:hover{background:url(images/ii1.png) no-repeat; background-size:40%;width: 100%; height: 100px; margin-left: 32% }

以下是html代码:

<div class="container">
	<div class="col-md-1">
		<div class="top-grid">
			<span><label class="icon"></label></span>
			<!-- <h4><a href="#">OEM</a></h4> -->
		</div>
	</div>
	<div class="col-md-2">
		<div class="top-grid">
			<h4><a href="#"><span><label class="icon1"></label></span>Quality</a></h4>
		</div>
	</div>			
	<div class="col-md-1">
	    <div class="top-grid">
		<span><label class="icon"> </label></span>
	    </div>
    </div>
    <div class="clearfix"> </div>
</div>

 

### 实现 ECharts 3D 柱状图鼠标悬停变色效果 为了实现在 ECharts 中当鼠标悬停于 3D 柱状图上时改变其颜色的效果,可以利用 `itemStyle` 和事件处理机制来动态调整柱子的颜色。下面是一个具体的实现方法: #### 安装依赖库 确保已经安装了必要的包以便支持 Vue.js 和 ECharts 的集成以及 3D 图表的支持。 ```bash npm install echarts vue-echarts --save ``` #### 初始化配置并加载数据 创建一个新的组件用于展示 3D 柱状图,并初始化基本配置项。 ```javascript import * as echarts from 'echarts'; // 导入 3d 组件 import 'echarts-gl'; export default { mounted() { this.initChart(); }, methods: { initChart() { const chartDom = document.getElementById('main'); var myChart = echarts.init(chartDom); let option; // 设置初始样式 function getInitialItemStyle(color) { return { color: new echarts.graphic.LinearGradient( 0, 0, 0, 1, [ {offset: 0, color: '#'+color}, {offset: 1, color: '#' + (parseInt(color, 16) - 0x20000).toString(16)} ] ) }; } option = { xAxis3D: {}, yAxis3D: {}, zAxis3D: {}, grid3D: {}, series : [{ type: 'bar3D', data: [[0,0,5], [0,1,1], ...].map(function(item){ return { value: item, itemStyle: getInitialItemStyle(Math.floor((Math.random()*0xFFFFFF)).toString(16)) } }), shading: 'lambert' }] }; myChart.setOption(option); // 添加 hover 事件监听器 myChart.on('mouseover', params => { if(params.componentType === 'series') { setTimeout(() => { myChart.dispatchAction({ type: 'highlight', seriesIndex: params.seriesIndex, dataIndex: params.dataIndex }); // 动态更改高亮状态下的颜色 myChart.setOption({ series: [{ id: params.seriesId, data: params.data.map(d => ({ ...d, itemStyle: { color: '#ff7f50' // 新的颜色 } })) }] }); }, 0); } }); // 当离开时恢复原始颜色 myChart.on('mouseout', params => { if(params.componentType === 'series'){ myChart.dispatchAction({ type: 'downplay', seriesIndex: params.seriesIndex, dataIndex: params.dataIndex }); // 还原原来的颜色逻辑 myChart.setOption({ series: [{ id: params.seriesId, data: params.data.map(d => ({ ...d, itemStyle: d.originalItemStyle || getInitialItemStyle(Math.floor((Math.random()*0xFFFFFF)).toString(16)) })) }] }); } }); window.addEventListener("resize", () => {myChart.resize()}); } } } ``` 此代码片段展示了如何通过 JavaScript 来控制 ECharts 图形对象的状态变化,在这里特别关注的是鼠标的进入(`mouseover`)和退出(`mouseout`)两个事件处理器。每当发生这些交互行为时,都会触发相应的操作去更新指定系列的数据属性中的 `itemStyle` 属性从而达到视觉上的变换效果[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值