非常有创意的菜单悬停效果

一些菜单链接悬停效果。由CSS和JavaScript来实现,用于单独的字母动画。
非常有创意的菜单悬停效果

今天网站建设想和你分享一些菜单悬停效果。我们希望这套装置能激励您,并为您的下一个项目提供一些想法。效果要么仅由CSS提供,要么在anime.js的帮助下提供。有些人也会使用Charming,用于个别字母效果。

第一种风格是对“弱点”中的链接悬停效果的再现,略有适应。效果“Dustu”的灵感来自于Flambette上的链接悬停效果。

注意:我们正在为演示(网格,flexbox)使用一些现代的CSS技术和属性,所以请在现代浏览器中查看它们。

示例菜单悬停效果

菜单的结构取决于效果,但让我们来看看受美丽的The Febles网站启发的那个。我们称之为“Adsila”:

<nav class="menu menu–adsila"><a class="menu__item" href="#">
<span class="menu__item-name">Artists</span>
<span class="menu__item-label">Explore all artists/' portfolios</span>
</a>
<a class="menu__item" href="#">
<span class="menu__item-name">Exhibitions</span>
<span class="menu__item-label">Discover their stories</span>
</a>
<a class="menu__item" href="#">
<span class="menu__item-name">Schedule</span>
<span class="menu__item-label">View our event calendar</span>
</a>
<a class="menu__item" href="#">
<span class="menu__item-name">Mission</span>
<span class="menu__item-label">Read our mission statement</span>
</a>
<a class="menu__item" href="#">
<span class="menu__item-name">The Gardens</span>
<span class="menu__item-label">Get to know our eco village</span>
</a>
<a class="menu__item" href="#">
<span class="menu__item-name">Buy Tickets</span>
<span class="menu__item-label">Purchase event tickets online</span>
</a>
<a class="menu__item" href="#">
<span class="menu__item-name">Contact</span>
<span class="menu__item-label">Get in touch and find us</span>
</a></nav>

我们为所有菜单提供以下常用样式:

.menu {
position: relative;
z-index: 10;
}

.menu__item {
position: relative;
display: block;
outline: none;
margin: 0 0 1.5em;
line-height: 1;
}

.menu__item-name,
.menu__item-label {
position: relative;
display: inline-block;
}

.menu__item-name {
font-size: 1.25em;
}

.menu__item-label {
margin: 0 0 0 0.5em;
}

“Adsila”具有以下特定风格:

.menu–adsila {
font-size: 1.15em;
font-family: /'Nunito/', sans-serif;
}

.menu–adsila a {
color: #272727;
}

.menu–adsila .menu__item {
margin: 0 0 1em;
}

.menu–adsila .menu__item-name {
padding: 0 0.35em;
font-weight: bold;
line-height: 1.4;
transition: color 0.5s;
transition-timing-function: cubic-bezier(0.2,1,0.3,1);
}

.menu–adsila .menu__item-name::before {
content: /'/';
position: absolute;
z-index: -1;
width: 100%;
height: 50%;
left: 0;
bottom: 0;
opacity: 0.3;
transform: scale3d(0,1,1);
transform-origin: 0% 50%;
transition: transform 0.5s;
transition-timing-function: cubic-bezier(0.2,1,0.3,1);
}

.menu–adsila .menu__item-label {
font-size: 1em;
letter-spacing: 0.05em;
transform: translate3d(-0.5em,0,0);
transition: transform 0.5s, color 0.5s;
transition-timing-function: cubic-bezier(0.2,1,0.3,1);
}

.menu–adsila .menu__item-label::before {
content: /'/';
position: absolute;
z-index: -1;
width: 25%;
height: 1px;
left: 0.05em;
top: 1.25em;
opacity: 0.3;
transform: scale3d(0,1,1);
transform-origin: 100% 50%;
transition: transform 0.5s;
transition-timing-function: cubic-bezier(0.2,1,0.3,1);
}

.menu–adsila .menu__item:nth-child(odd) .menu__item-name::before,
.menu–adsila .menu__item:nth-child(odd) .menu__item-label::before {
background: #fe628e;
}

.menu–adsila .menu__item:nth-child(even) .menu__item-name::before,
.menu–adsila .menu__item:nth-child(even) .menu__item-label::before {
background: #6265fe;
}

/* Hover */

.menu–adsila .menu__item:nth-child(odd):hover,
.menu–adsila .menu__item:nth-child(odd):focus {
color: #fe628e;
}

.menu–adsila .menu__item:nth-child(even):hover,
.menu–adsila .menu__item:nth-child(even):focus {
color: #6265fe;
}

.menu–adsila .menu__item:hover .menu__item-name::before,
.menu–adsila .menu__item:focus .menu__item-name::before,
.menu–adsila .menu__item:hover .menu__item-label::before,
.menu–adsila .menu__item:focus .menu__item-label::before {
transform: scale3d(1,1,1);
}

.menu–adsila .menu__item:hover .menu__item-label,
.menu–adsila .menu__item:focus .menu__item-label {
transform: translate3d(0,0,0);
}

.menu–adsila .menu__item:hover .menu__item-label::before,
.menu–adsila .menu__item:focus .menu__item-label::before {
transition-timing-function: ease;
transform-origin: 0% 50%;
}

我们通过稍微移动标签并在标签上显示一条线,为效果添加了一些细微的变化。如您所见,我们不会为每个项目使用不同的颜色,而是区分偶数和奇数。

我们希望您喜欢这些风格,并把他使用在你的网站建设项目上。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/259349.html

(0)
上一篇 2022年5月21日
下一篇 2022年5月21日

相关推荐

发表回复

登录后才能评论