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

  • Telnet 접속을 위한 무료프로그램 한글판 PuTTY

    Telnet이나 보안접속인 SSH를 접속하기 위한 무료프로그램 Putty를 소개합니다. 윈도우의 CMD에서 telnet을 실행 시킬 수도 있지만 좀더 전문적 프로그램이 필요할 떄 사용하면 됩니다. PuTTY는 무엇보다도 SSH접속이 가능해서 보안 접속에 많이 사용하는 프로그램 입니다. KLDP의 몇몇 훌륭하신 분들이 한글화 작업을 하여 무료로 배포를 하고 있습니다. 해당 사이트에서 다운로드 받아 설치를 하면 되고 설치 방법이 어렵지는 않습니다. 설치를 […]

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

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

  • Angular의 개발환경

    Angular의 개발환경 Angular를 개발하기위해서 일반적인 개발환경에 대해 포스팅 합니다. Nodejs 설치 타입스크립트 설치 Angular프로젝트 구성 Nodejs 설치 Angular의 기본적인 개발환경은 Nodejs입니다. Nodejs는 자바스크립트 기반으로 서버개발이 가능하고 NPM을 이용하여 패키지관리까지 가능하기 때문에 많이 사용하고 있습니다. 먼저 nodejs홈페이지에 접속하여 최신버전의 설치파일을 다운로드하여 설치 합니다. nodejs는 윈도우 환경 뿐만아니라 리눅스, macOS에서도 설치가 가능합니다. NPM으로 패키지 설치 Nodejs가 설치되었다면 […]

  • 포토스케이프(PhotoScape X) 100% 활용 하기

    사진이나 이미지를 다룰 때 포토샵을 뺴놓으면 섭하지만 이 포토샵의 가격이 후덜덜 하고 또한 클라우드로 변경되면서 가격은 좀 싸졌을지 모르지만 매년 또는 매달 비용을 지불해야 하는 부담감이 있습니다. 이걸 가지고 돈을 벌 수 있는 직업이 있다면 그런대로 투자할 만 한데 그렇지 않은 일반 개인이나 서민들은 해적판이나 대체 프로그램을 찾기 마련입니다. 여러가지 다양한 사진 다루는 툴이 있겠지만 […]

  • Angular의 개요

    Angular에 대한 세부적인 포스팅을 하기 전에 먼저 간단하게 개요를 정리 합니다. Angular란? 구글에서 만든 open-souce web application SPA(Single Page Application) 개발이 가능 다양한 플랫폼에 맞게 개발 가능 유지보수, 개발 속도 향상 (데이터 바인딩, 템플릿 등의 문법 제공 ) 아키텍쳐 Angular의 구성요소 Angular2를 구성하는 요소는 크게 4가지 입니다. 컴포넌트 (Component) 모듈 (Module) 서비스 (Service) 지시자 (Directive) […]

  • 두개의 텍스트, 이미지, PDF, 엑셀, 폴더를 비교할 수 있는 Diffchecker 웹서비스

    두개의 텍스트나 이미지, PDF, 엑셀, 폴더를 비교할 수 있는 웹서비스를 소개합니다. 간단한 비교는 무료로 이용할 수 있어서 갑자기 필요할 경우 요긴하게 사용할 수 있습니다. https://www.diffchecker.com 텍스트 비교 Original Text에 원본 텍스트를 넣고 Changed Text에 변경된 텍스트를 넣은 후 Find Difference 버튼을 클릭하면 2개의 문서를 비교해 줍니다. 2개의 문서 중 다른 부분을 표시해서 보여줍니다. 이미지 비교 […]

답글 남기기

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