Advertisement
SoerenHelms

Circular Navigation

Sep 12th, 2020 (edited)
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CSS 7.86 KB | None | 0 0
  1. HTML:
  2.  
  3. <div class="component">
  4.         <?php echo "<h2>$pagetitle</h2>"; ?>
  5.         <!-- Start Nav Structure -->
  6.         <button class="cn-button" id="cn-button">Menu</button>
  7.         <div class="cn-wrapper" id="cn-wrapper">
  8.             <ul>
  9.                 <li><a href="./test.php"><span><i class="fas fa-3x fa-hand-holding-usd"></i></span></a></li>
  10.                 <li><a href="#"><span><i class="fas fa-3x fa-users"></i></span></a></li>
  11.             </ul>
  12.         </div>
  13.         <!-- End of Nav Structure -->
  14.     </div>
  15.  
  16.  
  17. CSS:
  18.  
  19. * {
  20.     position: relative;
  21.     -moz-box-sizing: border-box;
  22.     box-sizing: border-box;
  23.     margin: 0;
  24.     padding: 0;
  25.     list-style: none;
  26. }
  27.  
  28. html,
  29. body {
  30.     height: 100%;
  31. }
  32.  
  33. body {
  34.     background: #52be7f;
  35.     color: #fff;
  36. }
  37.  
  38. .component {
  39.     position: relative;
  40.     margin-bottom: 3em;
  41.     height: 15em;
  42.     background: rgba(0,0,0,0.05);
  43.     font-family: 'Lato', Arial, sans-serif;
  44. }
  45.  
  46. .component > h2 {
  47.     position: absolute;
  48.     overflow: hidden;
  49.     width: 100%;
  50.     text-align: center;
  51.     text-transform: uppercase;
  52.     white-space: nowrap;
  53.     font-weight: 300;
  54.     font-style: italic;
  55.     font-size: 12em;
  56.     opacity: 0.1;
  57.     cursor: default;
  58. }
  59.  
  60. .cn-button {
  61.     position: absolute;
  62.     top: 100%;
  63.     left: 50%;
  64.     z-index: 11;
  65.     margin-top: -2.25em;
  66.     margin-left: -2.25em;
  67.     padding-top: 0em;
  68.     width: 4.5em;
  69.     height: 4.5em;
  70.     border: none;
  71.     border-radius: 50%;
  72.     background: none;
  73.     background-color: #fff;
  74.     color: #52be7f;
  75.     text-align: center;
  76.     font-weight: 700;
  77.     font-size: 1.5em;
  78.     text-transform: uppercase;
  79.     cursor: pointer;
  80.     -webkit-backface-visibility: hidden;
  81. }
  82.  
  83. .csstransforms .cn-wrapper {
  84.     position: absolute;
  85.     top: 100%;
  86.     left: 50%;
  87.     z-index: 10;
  88.     margin-top: -13em;
  89.     margin-left: -13.5em;
  90.     width: 27em;
  91.     height: 27em;
  92.     border-radius: 50%;
  93.     background: transparent;
  94.     opacity: 0;
  95.     -webkit-transition: all .3s ease 0.3s;
  96.     -moz-transition: all .3s ease 0.3s;
  97.     transition: all .3s ease 0.3s;
  98.     -webkit-transform: scale(0.1);
  99.     -ms-transform: scale(0.1);
  100.     -moz-transform: scale(0.1);
  101.     transform: scale(0.1);
  102.     pointer-events: none;
  103.     overflow: hidden;
  104. }
  105.  
  106. /*cover to prevent extra space of anchors from being clickable*/
  107. .csstransforms .cn-wrapper:after{
  108.   content:".";
  109.   display:block;
  110.   font-size:2em;
  111.   width:6.2em;
  112.   height:6.2em;
  113.   position: absolute;
  114.   left: 50%;
  115.   margin-left: -3.1em;
  116.   top:50%;
  117.   margin-top: -3.1em;
  118.   border-radius: 50%;
  119.   z-index:10;
  120.   color: transparent;
  121. }
  122.  
  123. .csstransforms .opened-nav {
  124.     border-radius: 50%;
  125.     opacity: 1;
  126.     -webkit-transition: all .3s ease;
  127.     -moz-transition: all .3s ease;
  128.     transition: all .3s ease;
  129.     -webkit-transform: scale(1);
  130.     -moz-transform: scale(1);
  131.     -ms-transform: scale(1);
  132.     transform: scale(1);
  133.     pointer-events: auto;
  134. }
  135.  
  136. .csstransforms .cn-wrapper li {
  137.     position: absolute;
  138.     top: 50%;
  139.     left: 50%;
  140.     overflow: hidden;
  141.     margin-top: -1.3em;
  142.     margin-left: -10em;
  143.     width: 10em;
  144.     height: 10em;
  145.     font-size: 1.5em;
  146.     -webkit-transition: all .3s ease;
  147.     -moz-transition: all .3s ease;
  148.     transition: all .3s ease;
  149.     -webkit-transform: rotate(76deg) skew(60deg);
  150.     -moz-transform: rotate(76deg) skew(60deg);
  151.     -ms-transform: rotate(76deg) skew(60deg);
  152.     transform: rotate(76deg) skew(60deg);
  153.     -webkit-transform-origin: 100% 100%;
  154.     -moz-transform-origin: 100% 100%;
  155.     transform-origin: 100% 100%;
  156.     pointer-events: none;
  157. }
  158.  
  159. .csstransforms .cn-wrapper li a {
  160.     position: absolute;
  161.     right: -7.25em;
  162.     bottom: -7.25em;
  163.     display: block;
  164.     width: 14.5em;
  165.     height: 14.5em;
  166.     border-radius: 50%;
  167.     background: #429a67;
  168.     background: -webkit-radial-gradient(transparent 35%, #429a67 35%);
  169.     background: -moz-radial-gradient(transparent 35%, #429a67 35%);
  170.     background: radial-gradient(transparent 35%, #429a67 35%);
  171.     color: #fff;
  172.     text-align: center;
  173.     text-decoration: none;
  174.     font-size: 1.2em;
  175.     line-height: 2;
  176.     -webkit-transform: skew(-60deg) rotate(-75deg) scale(1);
  177.     -moz-transform: skew(-60deg) rotate(-75deg) scale(1);
  178.     -ms-transform: skew(-60deg) rotate(-75deg) scale(1);
  179.     transform: skew(-60deg) rotate(-75deg) scale(1);
  180.     -webkit-backface-visibility: hidden;
  181.     backface-visibility: hidden;
  182.     pointer-events: auto;
  183. }
  184.  
  185. .csstransforms .cn-wrapper li a span {
  186.     position: relative;
  187.     top: 1.8em;
  188.     display: block;
  189.     font-size: .5em;
  190.     font-weight: 700;
  191.     text-transform: uppercase;
  192. }
  193.  
  194. .csstransforms .cn-wrapper li a:hover,
  195. .csstransforms .cn-wrapper li a:active,
  196. .csstransforms .cn-wrapper li a:focus {
  197.     background: -webkit-radial-gradient(transparent 35%, #449e6a 35%);
  198.     background: -moz-radial-gradient(transparent 35%, #449e6a 35%);
  199.     background: radial-gradient(transparent 35%, #449e6a 35%);
  200. }
  201. .csstransforms .cn-wrapper li a:focus {
  202.     position: fixed; /* fix the displacement bug in webkit browsers when using tab key */
  203. }
  204.  
  205. .csstransforms .opened-nav li {
  206.     -webkit-transition: all .3s ease .3s;
  207.     -moz-transition: all .3s ease .3s;
  208.     transition: all .3s ease .3s;
  209. }
  210.  
  211. .csstransforms .opened-nav li:first-child {
  212.     -webkit-transform: rotate(-20deg) skew(60deg);
  213.     -moz-transform: rotate(-20deg) skew(60deg);
  214.     -ms-transform: rotate(-20deg) skew(60deg);
  215.     transform: rotate(-20deg) skew(60deg);
  216. }
  217.  
  218. .csstransforms .opened-nav li:nth-child(2) {
  219.     -webkit-transform: rotate(12deg) skew(60deg);
  220.     -moz-transform: rotate(12deg) skew(60deg);
  221.     -ms-transform: rotate(12deg) skew(60deg);
  222.     transform: rotate(12deg) skew(60deg);
  223. }
  224.  
  225. .csstransforms .opened-nav  li:nth-child(3) {
  226.     -webkit-transform: rotate(44deg) skew(60deg);
  227.     -moz-transform: rotate(44deg) skew(60deg);
  228.     -ms-transform: rotate(44deg) skew(60deg);
  229.     transform: rotate(44deg) skew(60deg);
  230. }
  231.  
  232. .csstransforms .opened-nav li:nth-child(4) {
  233.     -webkit-transform: rotate(76deg) skew(60deg);
  234.     -moz-transform: rotate(76deg) skew(60deg);
  235.     -ms-transform: rotate(76deg) skew(60deg);
  236.     transform: rotate(76deg) skew(60deg);
  237. }
  238.  
  239. .csstransforms .opened-nav li:nth-child(5) {
  240.     -webkit-transform: rotate(108deg) skew(60deg);
  241.     -moz-transform: rotate(108deg) skew(60deg);
  242.     -ms-transform: rotate(108deg) skew(60deg);
  243.     transform: rotate(108deg) skew(60deg);
  244. }
  245.  
  246. .csstransforms .opened-nav li:nth-child(6) {
  247.     -webkit-transform: rotate(140deg) skew(60deg);
  248.     -moz-transform: rotate(140deg) skew(60deg);
  249.     -ms-transform: rotate(140deg) skew(60deg);
  250.     transform: rotate(140deg) skew(60deg);
  251. }
  252.  
  253. .csstransforms .opened-nav li:nth-child(7) {
  254.     -webkit-transform: rotate(172deg) skew(60deg);
  255.     -moz-transform: rotate(172deg) skew(60deg);
  256.     -ms-transform: rotate(172deg) skew(60deg);
  257.     transform: rotate(172deg) skew(60deg);
  258. }
  259.  
  260. .no-csstransforms .cn-wrapper {
  261.     overflow: hidden;
  262.     margin: 10em auto;
  263.     padding: .5em;
  264.     text-align: center;
  265. }
  266.  
  267. .no-csstransforms .cn-wrapper ul {
  268.     display: inline-block;
  269. }
  270.  
  271. .no-csstransforms .cn-wrapper li {
  272.     float: left;
  273.     width: 5em;
  274.     height: 5em;
  275.     background-color: #fff;
  276.     text-align: center;
  277.     font-size: 1em;
  278.     line-height: 5em;
  279. }
  280.  
  281. .no-csstransforms .cn-wrapper li a {
  282.     display: block;
  283.     width: 100%;
  284.     height: 100%;
  285.     color: inherit;
  286.     text-decoration: none;
  287. }
  288.  
  289. .no-csstransforms .cn-wrapper li a:hover,
  290. .no-csstransforms .cn-wrapper li a:active,
  291. .no-csstransforms .cn-wrapper li a:focus {
  292.     background-color: #f8f8f8;
  293. }
  294.  
  295. .no-csstransforms .cn-wrapper li.active a{
  296.     background-color: #6F325C;
  297.     color: #fff;
  298. }
  299.  
  300. .no-csstransforms .cn-button {
  301.     display: none;
  302. }
  303.  
  304. @media only screen and (max-width: 620px) {
  305.     .no-csstransforms li {
  306.         width: 4em;
  307.         height: 4em;
  308.         line-height: 4em;
  309.     }
  310. }
  311.  
  312. @media only screen and (max-width: 500px) {
  313.     .no-ccstransforms .cn-wrapper {
  314.         padding: .5em;
  315.     }
  316.  
  317.     .no-csstransforms .cn-wrapper li {
  318.         width: 4em;
  319.         height: 4em;
  320.         font-size: .9em;
  321.         line-height: 4em;
  322.     }
  323. }
  324.  
  325. @media only screen and (max-width: 480px) {
  326.     .csstransforms .cn-wrapper {
  327.         font-size: .68em;
  328.     }
  329.  
  330.     .cn-button {
  331.         font-size: 1em;
  332.     }
  333. }
  334.  
  335. @media only screen and (max-width:420px) {
  336.     .no-csstransforms .cn-wrapper li {
  337.         width: 100%;
  338.         height: 3em;
  339.         line-height: 3em;
  340.     }
  341. }
  342.  
  343. span.weak {
  344.     font-weight: lighter;
  345. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement