본문 바로가기
html, css, 자바스크립트/css

css 폼 요소에 마우스 처리 하기

by 개발자 L 2023. 5. 15.
반응형

css 폼 요소에 마우스 처리 하기

네 안녕하세요, 이번 포스팅에서는 폼 요소에

마우스 처리를 하는 방법에 대하여 알아보도록 하겠습니다.

우리가 폼 요소에 무언가를 입력하기 위해서는 마우스를 써야 하기 때문에,

마우스 관련 이벤트는 매우 중요한 요소들 중 하나입니다.

그럼 지금부터 어떻게 사용을 하는지 보도록 하겠습니다.

 

1. 마우스 이벤트 기능 사용하기

폼 요소 입력 시에 사용하는 마우스 관련 이벤트는 크게 두 가지를 씁니다.

 

  • 마우스가 올라올 때 발생하는 이벤트
  • 텍스트를 입력하기 위해 폼 요소 클릭 시 받는 포커스

 

이렇게 두 가지가 있습니다.

 

1 - 1. 마우스가 올라올 때 : hover 사용

마우스가 올라올 때는 hover 속성을 사용하여 이벤트를 줄 수 있습니다.

사용 방법은 이렇습니다.

input[type="text"] {
    color : red;
}

input[type="text"]:hover {
    background : aliceblue;
}

이렇게 쓰게 되면 마우스가 올라갈 때 배경색이 aliceblue로 바뀌게 됩니다.

 

1 - 2. 텍스트 입력을 위해 폼 요소를 클릭할 때 : focus 사용

텍스트를 입력하기 위해서 폼 요소를 클릭했을 때도 이벤트를 넣을 수 있습니다.

여기서 말하는 포커스란, 키 입력에 대한 독점권을 의미하는데,

폼 요소가 포커스를 받게 되면 해당 폼 요소에만 입력이 가능한 형태가 됩니다.

그래서 이게 있어야 폼 요소 간 혼선도 어느 정도 막아주고,

그에 따른 이벤트 등도 넣을 수 있어서 제일 많이 쓰입니다.

사용 방법은 아래와 같습니다.

input[type="text"]:focus {
    font-size : 120%;
}

이렇게 쓰게 되면 입력 창을 클릭해서 폼 요소가 포커스를 받게 되었을 때

텍스트가 입력되는 동안 글자 크기가 120%로 증가되어 있게 됩니다.

이제 이들을 직접 html 태그에 넣어서 적용시켜 보도록 하겠습니다.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>폼 스타일 주기</title>
    <style>
    input[type=text] { /* text 창에만 적용 */
        color : red; 
    }
    input:hover, textarea:hover { /* 마우스 올라 올 때 */
        background : aliceblue;
    }
    input[type=text]:focus, input[type=email]:focus { /* 포커스 받을 때 */
        font-size : 120%; 
    }
    label {
        display : block; /* 새 라인에서 시작 */
        padding : 5px;
    }
    label span {
        display : inline-block;
        width : 90px;
        text-align : right;
        padding : 10px;
    }
    </style>
    </head>
    <body>
    <h3>CONTACT US</h3>
    <hr>
    <form>
        <label>
            <span>Name</span><input type="text" placeholder="Input Your Name">
        </label>
        <label>
            <span>Email</span><input type="email" placeholder="gooroom@gmail.com">
        </label>
        <label>
            <span>Comment</span><textarea placeholder="메시지를 남겨주세요"></textarea>
        </label>
        <label>
            <span></span><input type="submit" value="submit">
        </label>		
    </form>
    </body>
</html>

 

반응형

 

이렇게 작성을 해봤습니다.

그럼 이제 결과를 보도록 하겠습니다.

이런 식으로 텍스트 입력 폼을 만들어봤는데,

이제 여기에 적용시킨 속성들이 제대로 들어갔는지 보도록 하겠습니다.

 

 

 

보시면 마우스가 올라갔을 때 폼 입력창의 색이 바뀌는 걸 볼 수 있고,

입력란을 클릭하여 포커스를 주었을 때 입력 창과 글자 크기가 커지고,

입력되는 글자 색을 빨강으로 설정했기 때문에 빨간 글씨가 입력되고 있으며,

포커스가 끝이 나고 커서가 완전히 내려갔을 때

글자 크기가 원래대로 돌아온 것을 볼 수 있습니다.

 

여기까지 폼 요소에 마우스 관련 처리를 하는 방법에 대하여 알아보았습니다.

다음 포스팅에서는 css 스타일로 태그에 동적 변화를 주는 방법에 대하여

알아보도록 하겠습니다.

긴 글 읽어주신 독자분들께 진심으로 감사드립니다~

 

반응형

댓글