今天,我们想与你分享一些菜单悬停效果。 我们希望这一套启发你,并为你的下一个项目提供一些想法。 这些效果是由CSS或仅在anime.js的帮助下提供动力。 有些还使用Charming,用于个别字母效果。
第一种风格是轻微的适应性,在The Feebles上看到的链接悬停效果的再现。“Dustu”的效果受到Flambette上链接悬停效果的启发。
注意:我们正在使用一些现代的CSS技术和属性的演示(网格,flexbox),所以请使用最新的浏览器查看他们。
这个演示由FullStory赞助。
菜单的结构取决于效果,但让我们来看看由美丽的The Feebles网站所启发的结构。 我们称之为“Adsila”:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | < 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 > |
有以下所有菜单的常见样式:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | .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” has these specific styles:.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.5 s; 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: scale 3 d( 0 , 1 , 1 ); transform-origin: 0% 50% ; transition: transform 0.5 s; transition-timing-function: cubic-bezier( 0.2 , 1 , 0.3 , 1 ); } .menu--adsila .menu__item-label { font-size : 1em ; letter-spacing : 0.05em ; transform: translate 3 d( -0.5em , 0 , 0 ); transition: transform 0.5 s, color 0.5 s; 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: scale 3 d( 0 , 1 , 1 ); transform-origin: 100% 50% ; transition: transform 0.5 s; 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: scale 3 d( 1 , 1 , 1 ); } .menu--adsila .menu__item:hover .menu__item-label, .menu--adsila .menu__item:focus .menu__item-label { transform: translate 3 d( 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% ; } |
我们通过移动标签并在标签上留下了一条线来添加了一些变化。 正如你所看到的,我们不会为每个项目使用不同的颜色,而是我们区分偶数和奇数。
我们希望你喜欢这些风格,并启发您的灵感。
特别申明:
本站所有资源都是由网友投稿发布,或转载各大下载站,请自行检测软件的完整性!
本站所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!
如有侵权请联系我们删除下架,联系方式:lei1294551502@163.com