html经过菜单变色移开恢复,h5学习笔记:transition菜单过渡变色

今天客户提出一些样式方面的要求,在之前css动画一直偶尔用。在互动媒体的行业里面采用了大量的使用。趁着今年最后一天记录一下今天用的一些笔记。

1.创建菜单

在日常中,编写一个横向菜单是很容易的事情。下面,我们看一下效果。

c1f6c03600865d02762bf14452bf9894.png

这个代码是一组采用ul 和 li 组合的常规菜单。我们看一下如下的代码。在这个菜单里面,我们仅仅把li 的display 设置display: inline-block; 即可产生横向的菜单了。

title>

head>

display: inline-block;

background:gray;

color: white;

padding: 10px 20px;

}style>

菜单一li>

菜单二li>

菜单三li>

菜单四li>

ul>

div>

div>

body>

html>

2.菜单变色

客户的一个需求是,希望产生变色。对此css的hover能够提供这个日常操作变色的操作。我们稍微改变一下菜单颜色,当鼠标经过的时候让它产生变色。

5b72b8e27dd24dbb8fc81627e6ef54ca.jpg

看如下的代码:将li 加上hover的伪类处理。即可实现变色变色的效果。

title>

head>

display: inline-block;

background:gray;

color: white;

padding: 10px 20px;

}

.ui-menu ul li:hover{

background:deepskyblue;

}style>

菜单一li>

菜单二li>

菜单三li>

菜单四li>

ul>

div>

div>

body>

html>

3.添加过渡效果

看起来非常简单。不过客户的要求还不能满足。客户希望菜单能够在鼠标自然过渡产生一个视角。那么,css是否可以实现?答案是肯定的。css提供过渡动画效果,效果设置很方便。经过改造后。加上一行代码实现。

transition: background 0.8s ease-out;

.ui-menu ul li:hover{

background:deepskyblue;

transition: background 0.8s ease-out;//让菜单产生过渡效果

}

有了这个基础后。菜单过渡产生一个过渡效果。同样在离开的时候,客户又提出了一个要求,让菜单变色后,恢复原来的。但是需要一点过渡。

这个时候也要对标签加上过渡处理,就会产生变化了。

.ui-menu ul li{

display: inline-block;

background:gray;

color: white;

padding: 10px 20px;

transition: background 0.3s ease-out;//鼠标松开后自然地恢复

}

title>

head>

display: inline-block;

background:gray;

color: white;

padding: 10px 20px;

transition: background 0.3s ease-out;

}

.ui-menu ul li:hover{

background:deepskyblue;

transition: background 0.8s ease-out;

}style>

菜单一li>

菜单二li>

菜单三li>

菜单四li>

ul>

div>

div>

body>

html>

综述

整个菜单看起来很简单,结合hover 和transition 组合就可以满足到相应的过渡效果。transition 有兼容性的问题,在使用的时候加上兼容性处理。

transition: background 0.8s ease-out;

-moz-transition: background 0.8s ease-out;

-o-transition: background 0.8s ease-out;

-webkit-transition: background 0.8s ease-out;

其他问题:display: inline-block; 产生间距的问题,对父类设置font-size:0;子类设置对应大小的字体即可消除间距问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要实现菜单栏制作并且在鼠标经过时变色的动画效果,您可以使用HTML、CSS和JavaScript。以下是一个简单的例子: HTML代码: ``` <ul class="menu"> <li><a href="#">菜单项1</a></li> <li><a href="#">菜单项2</a></li> <li><a href="#">菜单项3</a></li> <li><a href="#">菜单项4</a></li> </ul> ``` CSS代码: ``` .menu { list-style: none; margin: 0; padding: 0; } .menu li { display: inline-block; margin-right: 20px; } .menu li a { color: #333; text-decoration: none; padding: 10px; border-radius: 5px; transition: background-color 0.5s ease; } .menu li a:hover { background-color: #555; color: #fff; } ``` JavaScript代码: ``` // 没有JavaScript代码,可以忽略 ``` 这段代码创建了一个无序列表,使用CSS样式将菜单项水平排列,并为菜单项设置动画效果。当鼠标悬停在菜单项上时,会出现背景颜色和文字颜色的变化,从而实现了鼠标经过时变色的动画效果。 ### 回答2: 要实现菜单栏制作,鼠标经过时变色的动画效果,可以按照以下步骤进行: 1. HTML结构:首先,在HTML文件中创建一个菜单栏的容器,可以使用无序列表(<ul>)和列表项(<li>)的结构来实现菜单栏的各个选项。 2. CSS样式:使用CSS来设计菜单栏的样式,包括背景颜色、字体颜色、边框样式等。 设置鼠标经过时的样式,可以使用:hover伪类选择器,通过为鼠标悬停的选项设置不同的颜色或背景变化来实现动画效果。 3. JavaScript代码:使用JavaScript来处理菜单栏的交互功能。通过获取HTML元素和监听事件,当鼠标悬停在选项上时,改变其样式。可以使用addEventListener()方法来监听鼠标的入和出事件,并通过修改元素的样式来改变颜色。 具体实现步骤如下: HTML代码: ```HTML <ul class="menu"> <li><a href="#">菜单项1</a></li> <li><a href="#">菜单项2</a></li> <li><a href="#">菜单项3</a></li> <li><a href="#">菜单项4</a></li> </ul> ``` CSS代码: ```CSS .menu { list-style-type: none; margin: 0; padding: 0; } .menu li { display: inline-block; margin-right: 10px; } .menu li a { text-decoration: none; padding: 5px 10px; background-color: #ccc; color: #000; } .menu li a:hover { background-color: #ff0000; color: #fff; } ``` JavaScript代码: ```JavaScript var menuItems = document.getElementsByClassName('menu')[0].getElementsByTagName('a'); for (var i = 0; i < menuItems.length; i++) { menuItems[i].addEventListener('mouseenter', function() { this.style.backgroundColor = '#ff0000'; this.style.color = '#fff'; }); menuItems[i].addEventListener('mouseleave', function() { this.style.backgroundColor = '#ccc'; this.style.color = '#000'; }); } ``` 通过以上步骤,就可以实现菜单栏制作,当鼠标经过菜单选项时,会有颜色变化的动画效果。 ### 回答3: 要实现菜单栏制作,并且在鼠标经过时出现变色的动画效果,可以按照以下步骤进行操作。 首先,需要创建一个菜单栏的HTML结构,使用无序列表(ul)和列表项(li)来定义菜单项。为每个列表项添加相应的标识类名或ID。 接下来,在CSS中设置菜单栏的样式,包括背景颜色、字体样式、宽度等。使用伪类:hover来定义鼠标经过时的样式变化。例如,设置鼠标经过时的背景颜色变为另外一种颜色。 然后,使用JavaScript编写一个事件监听函数,用于处理鼠标经过事件。可以使用DOM选择器获取到菜单栏的每个列表项元素,并为其添加鼠标进入事件监听器。 在事件监听函数中,可以使用元素的classList属性来添加或除特定的类名,以实现样式变化的动画效果。通过添加特定的类名,可以改变背景颜色、字体样式等。 最后,将这段JavaScript代码与页面的HTML和CSS文件结合起来,在页面加载时执行。以确保在鼠标经过菜单栏时,动画效果得以正确应用。 通过以上步骤,我们可以实现一个菜单栏制作,并在鼠标经过时出现变色的动画效果。当用户将鼠标悬停在菜单项上时,背景颜色会发生变化,提供一种视觉上的反馈,增加用户交互的友好性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值