找回密码
 立即注册
首页 资源区 代码 01html导航菜单,可倾斜的导航菜单设计css ...

CSS3 01html导航菜单,可倾斜的导航菜单设计css

新程序 10 小时前
01html导航菜单,可倾斜的导航菜单设计css

1.png
2.png

游客,如果您要查看本帖隐藏内容请回复



css
  1. @import url('https://fonts.googleapis.com/css?family=IM+Fell+English+SC');

  2. :root {
  3.   font-size:0.625em;
  4. }

  5. /*
  6. layout
  7. */
  8. html,body {min-height:100vh}
  9. body {
  10.   display:flex;
  11.   flex-flow:column nowrap;
  12.   justify-content:center;
  13.   align-items:center;
  14. }



  15. /*
  16. Counters
  17. */

  18. .menu ol {
  19.   counter-reset:menu;
  20. }



  21. /*
  22. Regular menu items
  23. */

  24. .menu-item a {
  25.   display:flex;
  26.   justify-content:flex-start; /*shrink towards text*/
  27.   color:currentColor;
  28.   text-decoration:none;
  29.   padding:0.3rem 0; /* avoid flickin' */
  30.   order:0;
  31. }

  32. .menu-item a::before { /* dots */
  33.   content:"";
  34.   display:block;
  35.   border-bottom:1px dotted black;
  36.   position:relative; top:-3px;
  37.   flex:1 1 auto;
  38.   margin:0 1rem;
  39.   order:1;
  40. }

  41. .menu-item a::after { /* item ids */
  42.   counter-increment:menu;
  43.   content:counters(menu, ".");
  44.   flex:0 0 auto;
  45.   order:2;
  46.   transform:rotate(30deg)scale(1.2);
  47.   text-decoration:underline;
  48. }



  49. /*
  50. Sub menu & items
  51. */

  52. .sub-menu {
  53.   font-size:1.6rem;
  54.   font-weight:normal;
  55. }

  56. .sub-menu > li > a {
  57.   text-indent:0ch; /*
  58.     Chrome indentS the "dots" elm, i.e. it counts pseudo-elm.
  59.     FF and Edge indents first non pseudo-elm.
  60.     Turn it off for consistency.
  61.   */
  62.   padding:0.5rem 0 0.5rem 2ch;
  63.   margin:0;
  64. }



  65. /*
  66. Main menu
  67. */

  68. .menu {
  69.   width:22vw;
  70.   min-width:20ch;
  71.   display:flex;
  72.   flex-flow:column nowrap;
  73.   font:bold 2.4rem/1 'IM Fell English SC', serif;
  74.   position:relative;
  75.   transform:rotate(-30deg);
  76. }

  77. .menu::before {
  78.   content:"/";
  79.   align-self:center;
  80.   transform:rotate(30deg);
  81.   margin-bottom:1rem;
  82. }

  83. .menu::after {
  84.   content:"/";
  85.   align-self:center;
  86.   transform:rotate(30deg);
  87.   margin-top:1rem;
  88. }



  89. /*
  90. Fx
  91. */

  92. .menu { transition:transform 0.3s; }
  93. .menu:hover { transform:rotate(0); }

  94. .menu::before { transition:transform 0.5s; }
  95. .menu:hover::before { transform:rotate(0); content:"__"; }
  96. .menu::after { transition:transform 0.5s; }
  97. .menu:hover::after { transform:rotate(0); content:"__"; }

  98. .menu .menu-item a::after { transition:transform 0.3s }
  99. .menu:hover .menu-item a::after { transform:rotate(0) }

  100. .menu:hover > ol > .menu-item { opacity:0.3; }

  101. .menu-item:hover {
  102.   transition:background-color 0.3s;
  103.   background:rgba(255,255,0,0.15);
  104.   opacity:1 !important;
  105. }

  106. .menu-item:hover a::after {
  107.   text-decoration:none;
  108. }

  109. .menu-item:hover > a::before {
  110.   transition:flex-grow 0.3s;
  111.   width:0; flex-grow:0;
  112.   transform-origin:center bottom;
  113. }

  114. /*
  115. Collapse
  116. */

  117. .sub-menu > .menu-item {
  118.   max-height:1ch;
  119.   transform:scaleY(0.1);
  120.   transform-origin:center top;
  121.   transition:transform 0.2s, max-height 0.5s;
  122. }

  123. .menu:hover .sub-menu .menu-item {
  124.   max-height:10em;
  125.   transform:scaleY(1);
  126. }
复制代码


您需要登录后才可以回帖 登录 | 立即注册