½ÃÀÛÆäÀÌÁö·Î Áñ°Üã±âÃß°¡
·Î±×ÀÎ
ȸ¿ø°¡ÀÔ l Ã⼮üũ l ¸¶ÀÌÆäÀÌÁö l CGIMALL
happycgi
ÀÚ·á½Ç »çÀÌÆ®µî·Ï ·©Å·100 ÇÁ·Î±×·¥¸®ºä °ü¸®ÀÚÃßõÀÚ·á Ãʺ¸°¡À̵å
Ä¿¹Â´ÏƼ
Àüü ÆîÃ帱â
Äü¸Þ´º¸µÅ© jquery , CSS , PHP , Javascript , ¹«·áÆùÆ® , ASP
»ó¼¼°Ë»ö
Ȩ > CSS > ¸Þ´º > ¿òÁ÷ÀÌ´Â ¾ÆÀÌÄÜ°ú ¸Þ´º°¡ ³ª¿À´Â ¼­Ä¡ È¿°ú UI Experiment »ó¼¼Á¤º¸
»çÀÌÆ®µî·Ï
Ŭ¶ó¿ìµåű×
javascript
PHP
ASP
css
html
mysql
jquery
image
API
Mobile
¸Þ´º
slide
°Ô½ÃÆÇ
ÇöÀçÁ¢¼ÓÀÚ ¸í »õ·Î°íħ
¿òÁ÷ÀÌ´Â ¾ÆÀÌÄÜ°ú ¸Þ´º°¡ ³ª¿À´Â ¼­Ä¡ È¿°ú UI Experiment
¼Ò½ºÅë°èÁ¤º¸ ¿À·ù½Å°í ¹× ¹®ÀÇ
ÇØÇÇÆÀ
³×ƼÁð
Æ®À§ÅÍ·Î º¸³»±â ÆäÀ̽ººÏÀ¸·Î º¸³»±â
¼Ò½ººÐ·ù ¸Þ´º
´Ù¿î·Îµå Ƚ¼ö 1 ȸ
°£´Ü¼³¸í Ŭ¸¯ÇÏ¸é ¿òÁ÷ÀÌ´Â ¾ÆÀÌÄÜ°ú ¸Þ´º°¡ ³ªÅ¸³ª´Â ¼­Ä¡ È¿°úÀÔ´Ï´Ù.
Æò°¡Çϱâ ÈǸ¢ÇÔ ¸Å¿ìÁÁÀ½ ÁÁÀ½ ±¦ÂúÀ½ º¸Åë º°·Î
ȨÆäÀÌÁö¹Ù·Î°¡±â ¼Ò½º´Ù¿î·Îµå µ¥¸ð ¹Ì¸®º¸±â ½ºÅ©·¦Çϱâ
 

Ŭ¸¯ÇÏ¸é ¿òÁ÷ÀÌ´Â ¾ÆÀÌÄÜ°ú ¸Þ´º°¡ ³ªÅ¸³ª´Â ¼­Ä¡ È¿°úÀÔ´Ï´Ù.
ÀÀ¿ëÇÏ¿© ´Ù¾çÇÑ »çÀÌÆ®ÀÇ ¸Þ´º·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.


HTML ±¸Á¶

<div class="menu-wrapper">

  <input class="search-input" type="search" placeholder="Search actions..." aria-label="Search">


  <menu class="menu">

    <li class="menu-item">

      <button class="menu-btn">

        <canvas class="icon js-riv-canvas" role="img" width="24" height="24"></canvas>

        

        <span class="menu-label">Comment</span>

        

        <span class="menu-shortcut">⌘+Shift+M</span>

      </button>

    </li>

    

    <li class="menu-item">

      <button class="menu-btn">

        <canvas class="icon js-riv-canvas" role="img" width="24" height="24"></canvas>

        

        <span class="menu-label">Ask AI</span>

        

        <span class="menu-shortcut">⌘+J</span>

      </button>

    </li>

    

    <li class="menu-item">

      <button class="menu-btn">

        <canvas class="icon js-riv-canvas" role="img" width="24" height="24"></canvas>

        

        <span class="menu-label">Delete</span>

        

        <span class="menu-shortcut">Del</span>

      </button>

    </li>

    

    <li class="menu-item">

      <button class="menu-btn">

        <canvas class="icon js-riv-canvas" role="img" width="24" height="24"></canvas>

        

        <span class="menu-label">Duplicate</span>

        

        <span class="menu-shortcut">⌘+D</span>

      </button>

    </li>

    

    <li class="menu-item">

      <button class="menu-btn">

        <canvas class="icon js-riv-canvas" role="img" width="24" height="24"></canvas>

        

        <span class="menu-label">Copy link to block</span>

        

        <span class="menu-shortcut">⌥+Shift+L</span>

      </button>

    </li>

  </menu>

</div>



CSS ¼Ò½º

body {

  background-color: #F7F6F3;

  display: flex;

  align-items: center;

  justify-content: center;

  min-height: 100vh;

  font-family: Inter, sans-serif;

  -webkit-font-smoothing: antialiased;

  -moz-osx-font-smoothing: grayscale;

}


.menu-wrapper {

  --menu-item-height: 36px;

  --menu-items-nr: 6;

  --transition-duration: 0.3s;

  --transition-easing: cubic-bezier(0.645, 0.045, 0.355, 1);

  position: relative;

  

  &::before { /* morphing bg */

    content: '';

    position: absolute;

    inset: 0;

    background: #FFF;

    border-radius: 12px;

    box-shadow: 0 0 0 1px hsla(43, 7%, 20%, 0.08),0px 399px 160px rgba(100, 90, 64, 0.01), 0px 225px 135px rgba(100, 90, 64, 0.04), 0px 100px 100px rgba(100, 90, 64, 0.08), 0px 25px 55px rgba(100, 90, 64, 0.09);

    height: var(--menu-item-height);

    transition: var(--transition-duration) var(--transition-easing);

  }

  

  &:focus-within {

    &::before {

      inset: -3px;

      transform: translateY(calc(var(--menu-item-height) * -3));

      height: calc(9px + var(--menu-item-height) * var(--menu-items-nr));

    }

    

    .search-input {

      transform: translateY(calc(var(--menu-item-height) * -3));

    }

    

    .menu {

      opacity: 1;

      visibility: visible;

      transform: translateY(calc(var(--menu-item-height) * -3));

      transition: opacity var(--transition-duration), visibility 0s, transform var(--transition-duration) var(--transition-easing), clip-path var(--transition-duration) var(--transition-easing);

      clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);

    }

  }

}


.search-input {

  position: relative;

  z-index: 2;

  background: #FFF;

  height: var(--menu-item-height);

  width: 274px;

  padding: 0 12px;

  border-radius: 9px;

  font-size: 13px;

  font-weight: 500;

  box-shadow: 0 0 0 1px #E4E1D8;

  transition: var(--transition-duration) var(--transition-easing);

  

  &::placeholder {

     color: #9F9E9B;

  }

  

  &:focus {

    outline: none;

    box-shadow: 0 0 0 1.5px #DA4167, 0px 17px 7px rgba(218, 65, 103, 0.01), 0px 10px 6px rgba(218, 65, 103, 0.05), 0px 4px 4px rgba(218, 65, 103, 0.09), 0px 1px 2px rgba(218, 65, 103, 0.1);

  }

}


.menu {

  position: absolute;

  z-index: 1;

  list-style: none;

  width: 274px;

  margin-top: 3px;

  opacity: 0;

  visibility: hidden;

  clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);

  transition: opacity var(--transition-duration), visibility 0s var(--transition-duration), transform var(--transition-duration) var(--transition-easing), clip-path var(--transition-duration) var(--transition-easing);

}


.
.
.



JS ¼Ò½º

JS ¼Ò½º´Â »çÀÌÆ®·Î À̵¿Çϰųª ÷ºÎÆÄÀÏÀ» ´Ù¿î·ÎµåÇÏ¿© È®ÀÎÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù

.
.
.


ÇØ´ç »çÀÌÆ®·Î À̵¿Çؼ­ Àüü ¼Ò½º¸¦ È®ÀÎÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.

³×ƼÁð ÀÇ°ß   ÀÌ¿ëÇϽŠÀÚ·áÀÇ Èı⸦ ÀÚÀ¯·Ó°Ô ÀÛ¼ºÇϼ¼¿ä. (»ó¾÷ÀûÀÎ ±¤°í ¹× µµ¹è¼º ±Û µîÀº »çÀüÅ뺸¾øÀÌ »èÁ¦µÉ ¼ö ÀÖ½À´Ï´Ù.)
³»¿ë ¾ÆÀ̵ð ÀÇ°ß³²±â±â
µî·ÏµÈ ÀÇ°ßÀÌ ¾ø½À´Ï´Ù.
1
À̸§
³»¿ë
:³×¸Â¾Æ¿ä: :È­³ª´Â±º¿ä: :Àá¿Í: :¿ì¿ïÇØ: :À̰ǾƳÄ: :¿ÕÇÏÇÏ: ¿Õ¿ôÀ½~ ³î·¥~
Æò°¡Çϱâ ÈǸ¢ÇÔ ¸Å¿ìÁÁÀ½ ÁÁÀ½ ±¦ÂúÀ½ º¸Åë º°·Î
µµ¹è¹æÁöÅ°
 95302352 º¸ÀÌ´Â µµ¹è¹æÁöÅ°¸¦ ÀÔ·ÂÇϼ¼¿ä.