CSS로 그럴듯한 버튼효과를 내보자

별도의 라이브러리를 사용하지 않고 순수하게 CSS3만을 활용하여 버튼의 효과를 줄 수 있습니다.
급하게 퍼블리싱할때 써먹을 수 있게 정리해 놓겠습니다.

미리보기




코드설명

HTML

HTML은 기본 버튼을 사용하고 .btn으로 기본속성을 지정하고 .hover로 효과의 형태를 변경하겠습니다.

<button class="btn hover1"> BUTTON 1 </button>
<button class="btn hover2"> BUTTON 2 </button>
<button class="btn hover3"> BUTTON 3 </button>
<button class="btn hover4"> BUTTON 4 </button>

CSS

.btn의 설정으로 기본형태를 정의합니다.
아래쪽에 있는 transitioncolor속성이 중요하다 할 수 있습니다.

    .btn {
        display:block;
        width:200px; 
        height:40px; 
        line-height:40px; 
        border:1px #3399dd solid;;
        margin:15px auto; 
        background-color:#66aaff;  
        text-align:center; 
        cursor: pointer;  

        color:#333; 
        transition:all 0.9s, color 0.3;  
    }
    .btn:hover{color:#fff;}

.hover1, .hover2, .hover3, .hover4의 CLASS명으로 효과를 구분했습니다.
효과는 box-shadow를 활용하여 효과를 주었습니다.

    .hover1:hover{
        box-shadow:200px 0 0 0 rgba(0,0,0,0.5) inset;
    }
    .hover2:hover{
        box-shadow:-200px 0 0 0 rgba(0,0,0,0.5) inset;
    }
    .hover3:hover{
        box-shadow: 0 80px 0 0  rgba(0,0,0,0.25) inset, 
                    0 -80px 0 0 rgba(0,0,0,0.25) inset;
    }
    .hover4:hover{
        box-shadow: 200px 0 0 0 rgba(0,0,0,0.25) inset, 
                   -200px 0 0 0 rgba(0,0,0,0.25) inset;
    }

box-shadow 간단설명
box-shadow : 200px 0 0 0 rgba(0,0,0,0.5) inset;
200px 0 : 앞쪽의 2개의 숫자는 윗쪽에서 200px, 왼쪽에서 0만큼 띄우라는 뜻
0 (3번째 숫자) : 번짐의 정도
0 (4번째 숫자) : 펼처짐의 넓이
rgba(0,0,0,0.5) : 색상값과 투명도
inset : 원그림의 외부가 아니라 내부에서만 표현하라는 뜻

Similar Posts

  • VisualStudio Code 에디터의 설치와 유용한 확장프로그램(플러그인)

    SublimeText나 Atom에디터등 텍스트기반 에디터가 유행을 하자 MS에서도 Visual Studio를 기반으로 한 텍스트에디터를 출시하였고 다른 에디터들과 마찬가지로 무료로 서비스를 제공하고 있습니다. 저는 Notepadd++, SublimeText, Atom, Brackets, VisualStudioCode 에디터등을 두루두루 써보다가 VisualStudioCode에 정착을 했습니다. 원래는 Notepadd++를 요긴하게 잘 사용해 왔으나 플러그인 등이 부족하고 현재의 유행하는 편리한 기능의 에디터와는 다르기 때문에 좀더 편리한 에디터를 찾고자 했습니다. 그래서 여러가지 […]

  • nano에디터 소개 및 사용법

    윈도우를 사용할 경우는 전용에디터를 사용하면 되는데.. 리눅스나 유닉스 같은 경우 CLI환경에서 간단한 수정을 할 경우는 vi 애디터만큼 편한 것이 없습니다. 다만 vi 에디터가 사용자 친화적이 아니여서 그것을 사용하려면 별도의 학습이 필요하고 사용법을 익혔다고 하더라도 한동안 사용하지 않다가 다시 사용하려면 여간 헷갈린 것이 아닙니다. 그래서 그런 불편한 점을 해소하기 위해서 많이 사용하는 것이 nano 에디터 입니다. […]

  • git사용법과 명령어

    git은 개발자에게는 없어서는 안될 버전관리시스템입니다. SVN이 중앙집중식 버전관리 시스템이라면 git은 분산 버전관리 시스템이라 할 수 있습니다. 경우에 따라 다르겠지만 예전에는 SVN을 많이 사용하던것을 현재는 분산 버전관리 시스템이 git으로 많이 넘어온 상태입니다. 로컬컴퓨터에서만 사용할 경우에는 git만 설치하여 사용하면 되지만 원격저장소를 통해서 여러사람과 사용하기 위해서는 git서버가 있어야 합니다. git서버로 대표적인 사이트는 우리가 흔히 알고 있는 github가 있고 […]

  • 픽픽(PicPick)으로 이미지에 워터마크 쉽게 붙히기

    예전에 만능디자인툴 picpick이라는 글로 포스팅을 한 적이 있었는데요. 이 디자인 툴에 새로 알게된 유용한 기능이 하나 있어 소개해 볼까 합니다. 블로거라면 내가 찍은 사진이나 캡쳐한 이미지에 나만의 워터마크를 넣고 싶은 욕구가 있을텐데요. 이 워터마크를 포토샵으로도 넣을 수 있지만 손이 많이가는 것은 피할 수 없는 사실입니다. 또한 워터마크를 붙혀야할 이미지의 양이 많아지면 이 또한 상당하게 귀찮은 […]

  • 이미지 하단에 생기는 이상한 공백 없애기

    HTML로 레이아웃을 설정하다보면 DIV태그 안 이나 P태그 안에 이미지가 있는 경우 이미지 하단에 약 1~3px정도의 공백이 생기는 경우를 볼 수 있습니다. 그 공백을 없애려고 이리 찾아보고 저리 찾아봐도 해결이 잘 되지 않는데요. 이것을 없애는 방법을 정리해 보려고 합니다. ▲ 하단에 파란색의 공백이 있음(표시를 위해 백그라운드색을 파란색으로 했음) <div><img src=”https://placeimg.com/400/300/any” /></div> 원인 위와 같이 Image를 DIV나 […]

  • 나만의 아이콘 폰트(Icon font) 만들기

    정해져 있는 아이콘 폰트를 사용하는 경우도 있지만 때에 따라서는 내가 원하는 아이콘을 폰트화 시켜서 사용해야 할 경우도 있습니다. 이번에는 나만의 아이콘 폰트를 만드는 방법에 대해서 정리해 보려고 합니다. 아이콘 폰트가 무엇인지 궁금하면 이전에 포스팅한 아이콘 폰트(Icon font) 자유자제로 사용하기를 먼저 읽어 보시는 것을 추천합니다. 나만의 아이콘 폰트 만들기 오픈소스로 제공되어 정해져 있는 아이콘 폰트를 사용하는 […]

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다