大佬教程收集整理的这篇文章主要介绍了html – CSS放大菜单,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想创建一个径向菜单,如下所示,考虑图片中的所有元素互动,即中心的图像以及周围的四分之三.
解决方案与跨浏览器兼容很重要.
这只是一个简单的例子,因为零件真的不得不是宿舍,它们可以是任何可能的零件数量:
到目前为止的解决方案
我已经尝试使用带有边框的CSS3圆形边框,其中边框将这些图像作为背景,但是不能正常工作,因为每个元素都必须是独立元素.
我听说过css形状,但是我不知道如何使用它来创建径向菜单.
编辑:
也许还有一种方法可以为每个图像添加文字标题…
谢谢你的帮助!
径向形状采用边界半径和溢出特性.悬停动画通过CSS转换(缩放和oapcity)进行处理.
对于具有菜单标题的版本,请参阅此DEMO
径向菜单的完整代码:
HTML:
<span><span></span></span> <div class="wrap"> <a href="#"><div></div></a> <a href="#"><div></div></a> <a href="#"><div></div></a> <a href="#"><div></div></a> <a href="#"><div></div></a> </div>
CSS:
body,html{margin:0;padding:0;height:100%;} body{BACkground:#E3DFD2;box-shadow: inset 0 0 20vmin 0 #585247;} .wrap{ position:relative; width:80vmin; height:80vmin; margin:0 auto; BACkground:inherit; transform:scale(0.2) translatez(0pX); opacity:0; transition:transform .5s,opacity .5s; } a{ position:absolute; left:0; top:0; width:47.5%; height:47.5%; overflow:hidden; transform:scale(.5) translateZ(0pX); BACkground:#585247; } a div{ height:100%; BACkground-size:cover; opacity:.5; transition:opacity .5s; border-radius:inherit; } a:nth-child(1){ border-radius:40vmin 0 0 0; transform-origin: 110% 110%; transition:transform .4s .15s; } a:nth-child(1) div{ BACkground-image:url('https://farm3.staticflickr.com/2827/10384422264_d9c7299146.jpg'); } a:nth-child(2){ border-radius:0 40vmin 0 0; left:52.5%; transform-origin: -10% 110%; transition:transform .4s .2s; } a:nth-child(2) div{ BACkground-image:url('https://farm7.staticflickr.com/6083/6055581292_d94c2d90e3.jpg'); } a:nth-child(3){ border-radius:0 0 0 40vmin; top:52.5%; transform-origin: 110% -10%; transition:transform .4s .25s; } a:nth-child(3) div{ BACkground-image:url('https://farm7.staticflickr.com/6092/6227418584_d5883b0948.jpg'); } a:nth-child(4){ border-radius:0 0 40vmin 0; top:52.5%; left:52.5%; transform-origin: -10% -10%; transition:transform .4s .3s; } a:nth-child(4) div{ BACkground-image: url('https://farm8.staticflickr.com/7187/6895047173_d4b1a0d798.jpg'); } a:nth-child(5){ width:55%;height:55%; left:22.5%; top:22.5%; border-radius:50vmin; box-shadow:0 0 0 5vmin #E3DFD2; transform:scale(1); } a:nth-child(5) div{ BACkground-image: url('https://farm4.staticflickr.com/3766/12953056854_b8cdf14f21.jpg'); } span{ position:relative; display:block; margin:0 auto; top:45vmin; width:10vmin; height:10vmin; border-radius:100%; BACkground:#585247; transform:translateZ(0pX); } span span{ position:absolute; width:60%;height:3px; BACkground:#ACA696; left:20%; top:50%; border-radius:0; } span span:after,span span:before{ content:''; position:absolute; left:0; top:-1.5vmin; width:100%; height:100%; BACkground:inherit; } span span:after{ top:1.5vmin; } span:hover + .wrap,.wrap:hover{ transform:scale(.8) translateZ(0pX); opacity:1; } span:hover + .wrap a,.wrap:hover a{ transform:scale(1) translatez(0pX); } a:hover div{ opacity:1; transform:translatez(0pX); }
以上是大佬教程为你收集整理的html – CSS放大菜单全部内容,希望文章能够帮你解决html – CSS放大菜单所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。