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

+ ¹öưÀ» Ŭ¸¯ÇÏ¸é ¾ÆÀÌÄÜÀÌ ³ª¿À´Â ¹Ù ¾Ö´Ï¸ÞÀ̼ÇÀÔ´Ï´Ù.

¼Ò½º¸¦ º¯°æÇÏ¿© ´Ù¾çÇÏ°Ô ÀÀ¿ë °¡´ÉÇÕ´Ï´Ù.




HTML ±¸Á¶

<nav class="chatbar">

    <div class="control">

        <a>

            <svg>

                <use xlink:href="#plus">

            </svg>

        </a>

        <div class="text">

            <input type="text" placeholder="Message">

        </div>

        <ul class="list">

            <li>

                <a href="">

                    <svg>

                        <use xlink:href="#video">

                    </svg>

                </a>

            </li>

            <li>

                <a href="">

                    <svg>

                        <use xlink:href="#photo">

                    </svg>

                </a>

            </li>

            <li>

                <a href="">

                    <svg>

                        <use xlink:href="#image">

                    </svg>

                </a>

            </li>

        </ul>

    </div>

</nav>

.
.
.
 



CSS(SCSS) ¼Ò½º

.chatbar {

    --primary: #275EFE;

    --shadow: rgba(39, 94, 254, .2);

    width: 276px;

    position: relative;

    padding: 20px;

    border-radius: 42px;

    background: var(--primary);

    overflow: hidden;

    transform-origin: 42px 50%;

    box-shadow: 0 32px 48px -8px var(--shadow);

    .control {

        --rotate: 0deg;

        position: relative;

        transform-origin: 22px 22px;

        transition: transform .45s ease;

        transform: rotate(var(--rotate));

        & > a {

            display: flex;

            justify-content: center;

            align-items: center;

            position: relative;

            z-index: 1;

            cursor: pointer;

            width: 44px;

            height: 44px;

            border-radius: 50%;

            background: rgba(#fff, .2);

            svg {

                width: 28px;

                height: 28px;

                display: block;

                color: #fff;

            }

        }

        .text,

        .list {

            position: absolute;

            top: 0;

            left: 0;

            right: 0;

            padding: 0 0 0 64px;

            transform-origin: 22px 50%;

        }

        .text {

            top: -6px;

            input {

                line-height: 24px;

                padding: 14px 22px;

                border: 0;

                border-radius: 26px;

                background: rgba(#fff, .2);

                display: block;

                color: #fff;

                font-size: 18px;

                outline: none;

                width: 100%;

                &::placeholder {

                    color: rgba(#fff, .4);

                    opacity: 1;

                }

            }

        }

        .list {

            margin: 0;

            list-style: none;

            display: flex;

            justify-content: space-between;

            transform: rotate(135deg);

            li {

                --y: 0;

                transition: transform 1s ease;

                transform: translateY(var(--y));

                a {

                    display: flex;

                    justify-content: center;

                    align-items: center;

                    width: 44px;

                    height: 44px;

                    border-radius: 50%;

                    background: rgba(#fff, .2);

                    svg {

                        width: 20px;

                        height: 20px;

                        display: block;

                        color: #fff;

                        stroke-linecap: round;

                        stroke-width: 1.2;

                        stroke-linejoin: round;

                    }

                }

                &:nth-child(2) {

                    --y: 8px;

                }

                &:nth-child(3) {

                    --y: 16px;

                }

            }

        }

    }

    &.active {

        animation: top 1s ease-in-out forwards;

        .control {

            --rotate: -135deg;

            .list {

                li {

                    --y: 0;

                }

            }

        }

        &.default {

            animation: down 1s ease-in-out forwards;

            .control {

                --rotate: 0deg;

            }

        }

    }

}


@keyframes top {

    0%,

    100% {

        transform: rotate(0deg);

    }

    50%,

    60% {

        transform: rotate(-6deg);

    }

    88% {

        transform: rotate(1deg);

    }

}


@keyframes down {

    0%,

    100% {

        transform: rotate(0deg);

    }

    50%,

    60% {

        transform: rotate(6deg);

    }

    88% {

        transform: rotate(-1deg);

    }

}


html {

    box-sizing: border-box;

    -webkit-font-smoothing: antialiased;

}


* {

    box-sizing: inherit;

    &:before,

    &:after {

        box-sizing: inherit;

    }

}


// Center & dribbble

body {

    min-height: 100vh;

    display: flex;

    justify-content: center;

    align-items: center;

    background: #E4ECFA;

    .dribbble {

        position: fixed;

        display: block;

        right: 20px;

        bottom: 20px;

        img {

            display: block;

            height: 28px;

        }

    }

}


JS ¼Ò½º

$('.chatbar .control > a').on('click touch', function(e) {


    e.preventDefault();


    let parent = $(this).parent().parent();


    if(parent.hasClass('active')) {

        parent.addClass('default');

        setTimeout(() => {

            parent.removeClass('active default');

        }, 1000);

    } else {

        parent.addClass('active');

    }


});

 


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


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