首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[分享]css3复杂动画菜单

发布于 2024-11-11 15:16:28
0
38

CSS3复杂动画菜单可以帮助网站设计师实现更加生动的动态效果,给用户带来更好的视觉体验。下面我们来一起看看如何利用CSS3实现这种菜单。/ CSS 代码 / .menuitem { width: 50...

CSS3复杂动画菜单可以帮助网站设计师实现更加生动的动态效果,给用户带来更好的视觉体验。下面我们来一起看看如何利用CSS3实现这种菜单。

/* CSS 代码 */
.menu-item {
  width: 50px;
  height: 50px;
  background-color: #ccc;
  position: relative;
  display: inline-block;
  margin-right: 10px;
  cursor: pointer;
}

.menu-item span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.menu-item:hover span {
  transform: translate(-50%, -50%) scale(1);
}

.menu-item:before,
.menu-item:after {
  content: "";
  position: absolute;
  width: 0%;
  height: 100%;
  top: 0px;
  left: 0px;
  background-color: #333;
  transition: width 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.menu-item:before {
  transform: skew(-45deg);
}

.menu-item:after {
  transform: skew(45deg);
}

.menu-item:hover:before,
.menu-item:hover:after {
  width: 100%;
} 

以上代码中,我们用.menu-item类定义了每个菜单项,用:before和:after伪元素定义了菜单项的左右两个斜线,并用span元素定义了当用户鼠标悬停在菜单项上时弹出的菜单子项。

在:hover伪类下,我们对菜单项的:before和:after伪元素进行了宽度变化的动画,让菜单项看起来像是在展开,同时也对子项的opacity属性进行了变化,实现了子项由消失到出现的动画效果。

通过这样简单的CSS代码,我们便可以实现一组复杂动画菜单。这种菜单可用于展示网站的内容、服务或者产品等,给用户带来耳目一新的视觉体验。

评论
一个月内的热帖推荐
91云脑
Lv.1普通用户

62849

帖子

14

小组

291

积分

赞助商广告
站长交流