혹시나 도움이 될까해서 남겨봅니다.
저는 파이어폭스 브라우저를 사용하고 있는데
input을 클릭해도 placeholder가 없어지지 않았어요
(크롬, 사파리에서는 모두 정상적으로 동작)
올바른 방법인지는 모르겠지만 input을 클릭(포커스)했을때 placeholder 색을 투명하게 해주면
placeholder가 없어지는것처럼 보였습니다.
.item input:focus::placeholder {
visibility: hidden;
/* color: transparent; */
}
유리나 님~ 좋은 내용 공유해주셔서 감사합니다.
.item input:focus::placeholder {
visibility: hidden;
/* color: transparent; */
}
위에 처럼 하신 것 맞으세요. 제가 조금 덧붙이자면...
placeholder에 color 속성은 placeholder의 텍스트의 색상을 변경하는 용도입니다. 그래서 transparent로 하시면 사라진 것처럼 보이지만 실제로는 있고 텍스트만 투명으로 된거에요. 보이는 결과는 마찬가지입니다.
그래서 visibility: hidden; 사용하시는게 정석입니다. 하지만 visibility: hidden;은 트랜지션을 못주기 때문에 트랜지션을 주기 위해서는 아래처럼 하셔야 합니다. 참고로 display: none은 적용이 안됩니다. 이유는 placeholder 자체를 사라지게 할 수는 없습니다. 그래서 사라지지 않고 크기와 자리는 유지하지만 안보이게 하는 visibility: hidden을 사용합니다.
.item input::placeholder {
transition: 0.5s
}
.item input:focus::placeholder {
/*color: transparent;*/
opacity: 0;
}
답글
유리나
2021.10.09선생님 또 여러 가지 알려주셔서 감사합니다!
저도 생각해 보니까 글자 색만 투명으로 하기보다는
placeholder 자체를 투명으로 하는 게 좋은 거 같아요!
알려주신 코드도 파이어폭스에서는 opacity가 변경되지가 않네요 ㅠ
브라우저마다 css의 동작이 다른게 있는데 이런 건 겪으면서 경험으로
해결할 수 없는 부분인 거 같네요 ㅠㅠ
아직 강의를 다 보지는 않았지만
강의 듣기 전에는 원하는 레이아웃대로 배치하는 게 너무 어려웠는데
지금은 어느 정도 적응된 거 같아서 항상 감사하게 생각하고 있습니다 ^^
이번 강의 다 보고 복습도 끝나면 반응형 강의도 꼭 들어볼게요!!
코딩웍스(Coding Works)
2021.10.09파이어폭스에서는 opacity가 변경되지가 않는군요. 화이팅 입니다~!!