소스 출처
https://codepen.io/tonystar/pen/JRLaKw
Pure-CSS Float Label. Finally
밑은 내 응용예제
1. input에 placeholder 설정해주기
2. 각input을 감싸줄 블록/인라인블록 필요 (label 위치때문에)
3.구조 <div><input><label></label></div>
4.
input label{focus및value있을시 설정}
input:placeholder-shown:not(:focus) + *, input select:placeholder-shown:not(:focus) + * {변하기전값}
-- 설명 --
:not(:focus) + * 만 하면 value가 들어왔을때 포커스아웃되면 원상태로 돌아감
placeholder가 보이고 placeholder-shown and 포커스되지 않았을때 :not(:focus) 둘 다 충족 해야만 원본값으로 보인다.
A + B : A뒤에 바로 오는 형제 B 1개 선택
A + * : 위와 같은데 형제 전부 선택을 이렇게...ㅇ.ㅇ
내 예제에선 input 바로 뒤에 오는 애는 label 뿐인데다 얠 변경시키면 되는거라 *을 label로 바꿔도 무방
꼭 placeholder 를 설정해줘야하는 이유?
css만으로는 input에 값이 실시간으로 변하는걸 감지할 수 없음 /
(스크립트 keyup / change로 넘어가야하는데 그러면 css서 건들 필요가 없음 <<글자수 byte 쪼개는건 가능) (제이쿼리에선 .val()이 있다)
실시간 글자수(바이트) 체크 후 실시간 출력 관련 (https://isntyet.tistory.com/34)
그래서 어차피 값이 들어오면 자동으로 사라지는 placeholder를 이용하여 플레이스홀더가 있을때 or 포커싱 되었을땐 라벨이 float되게 설정한것
'CSS&JS > ⚡Thinkers' 카테고리의 다른 글
textarea에 입력시 다른 textarea 들에도 실시간으로 같은 내용 입력되게 하기 (0) | 2020.01.16 |
---|---|
경ㄱ ㅣ도청 홈페이지 서브메뉴 (0) | 2020.01.03 |
sticky Header(2) 스틱키 헤더 - 자바스크립트 없이 CSS만으로 스티키헤더 만들기 (0) | 2019.08.27 |
sticky header 스티키 헤더 - 상단에 광고바도 붙어있는데 정신없이 나왔다 들어갔다 하는 효과 말고 정말 원래 걍 착 붙어있는것마냥 스르륵 상단에 붙었다 제 위치로 돌아가게는 어떻게 함? (0) | 2019.08.23 |
Masonry layout(핀터레스트 레이아웃)(2) - 핀터레스트처럼 items의 너비는 고정되어있고 화면 해상도에 따라 단의 갯수가 늘어나려면? (0) | 2019.08.13 |