Computer >> 컴퓨터 >  >> 프로그래밍 >> CSS

CSS로 입력 필드 플레이스홀더(placeholder) 색상 변경하는 방법

웹 폼을 디자인할 때 입력 필드의 플레이스홀더(placeholder) 텍스트 색상을 기본 회색 대신 원하는 색으로 바꾸고 싶은 경우가 많습니다. CSS에서는 ::placeholder 가상 요소(pseudo-element)를 사용하면 간단하게 해결할 수 있습니다.

다만 브라우저마다 지원 방식이 다르기 때문에, 크로스 브라우징을 위해 아래처럼 표준 선택자와 함께 인터넷 익스플로러(IE), 엣지(Edge)용 벤더 접두사 선택자를 함께 작성해 주는 것이 좋습니다.

  • ::placeholder — 표준 가상 요소 (크롬, 파이어폭스, 사파리 등 대부분의 최신 브라우저 지원)
  • :-ms-input-placeholder — Internet Explorer 10~11 전용
  • ::-ms-input-placeholder — 구버전 Microsoft Edge 전용

예제 코드

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style>
    body {
        font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
        padding: 20px;
    }
    input {
        font-size: 40px;
        font-weight: bold;
    }
    ::placeholder {
        color: rgb(70, 53, 167);
    }
    :-ms-input-placeholder {
        color: rgb(66, 51, 155);
    }
    ::-ms-input-placeholder {
        color: rgb(122, 69, 182);
    }
</style>
</head>
<body>
<h1>플레이스홀더 색상 변경 예제</h1>
<input type="text" placeholder="Some placeholder text" />
</body>
</html>

실행 결과

위 코드를 실행하면 입력 필드에 보이는 플레이스홀더 텍스트가 기본 회색이 아닌 보라색 계열로 표시되는 것을 확인할 수 있습니다 −

CSS로 입력 필드 플레이스홀더(placeholder) 색상 변경하는 방법

추가 팁

플레이스홀더 스타일은 색상 외에도 글꼴 크기, 기울임꼴(font-style), 투명도(opacity) 등 다양한 속성을 조절할 수 있습니다. 또한 일부 브라우저에서는 플레이스홀더의 기본 불투명도가 낮게 설정되어 있으므로, 의도한 색상보다 연하게 보인다면 opacity: 1;을 함께 지정해 주면 됩니다.