지운아빠

크로스브라우징 input text 글줄 정렬

글줄 정렬이 맞는 표현인지 모르겠는데;;
vertical-align 의 기준선을 일정하게 맞추는 방법이라고 생각하시면 될 것 같습니다.
 
저는 이 방법을 쓰기 전엔
 
<style>
input {padding:3px}
</style>
 
<input type='text' />
처럼 작업했었는데, 이게 브라우저 별로 글자가 써지는 높이가 미세하게 다르더란 겁니다.
리뉴얼된 sir 메인메뉴 같이 글자를 세로 정렬할 때도 문제가 있었구요.
 
그래서 이 방법 저 방법 찾아보고 궁리해보다가 다음과 같은 방법을 찾았습니다.
(더 좋은 방법이 있다면 당연히 제보해주세요.)
 
<style>
input[type=text] {height:30px;line-height:2.4em}
</style>
 
<input type='text' />
이렇게 작업하면 크로스브라우징 확인 시에도 텍스트의 세로 정렬 기준선이 일정하게 나온답니다.
ie6 까지 고려하면
 
<style>
input[type=text] {height:30px;line-height:2.4em}
.textbox {height:30px;line-height:2.4em !important;line-height:2.1em}
</style>
 
<input type='text' class='textbox' />
처럼 작업하시는 게 더 좋습니다.
 
line-height:2.4em !important;line-height:2.1em
에서 앞에 속성에 !important 를 주면 뒤에 같은 속성이 나와도 우선적으로 적용되는 것은 아시죠?
근데 ie6 에서는 !important 를 무시하고 뒤의 새로 나오는 같은 속성 값이 적용됩니다.
* 핵을 안 쓰고 !important 만으로 ie6 에 대응할 수 있다는 겁니다.
ie6에서는 line-height 를 0.3em 적게 줄 때가 있는데 이건 아직 테스트를 더해봐야 될 거 같습니다. ㅠ
 
더 자세한 팁은 웹표준 강좌 때 확실하게 정리해서 찾아뵐께요 ㅎㅎㅎ
|

댓글 13개

ㅊㅊ이 없네요
토크게시판에서 팁자료실로 옮겼습니다. 눌러주세요 ㅎ;;
스타핵 언더바핵을 가급적이면 사용 안하는게 맞지만 !important 가 무시되는 상황도 있습니다.
부득이하게요.. 거의 대부분이 margin 값과 padding 값이 안맞을 때 많이 발생하더라구요 ㅠ
아 그리고 line-height 로 잡는부분이 거의 모든 브라우저에서 맞추기 제일 좋습니다.
ie7 과 오페라 에서 나오는것이랑 ie8과 크롬 ie9 에서 나오는게 또 서로 상이하죠..
IE6이 !important를 무시하고 뒤에 재정의된 속성을 렌더링 하는 버그 ;ㅂ;
IE6을 반드시 처리해야할 상황이라면 (CC)Conditional Comment를 통하는 것을 추천합니다;
CC를 통해 css를 따로 로드하는 방법도 있지만
http://html5boilerplate.com
boilerplate의 방법으로 <html> 태그에 CC를 이용해 IE 에 맞는 클래스를 주는 방법을 살펴봐 주세요.

그렇지만 요구사항에 IE6이 무조건 있어야 한다가 아니라면 과감하게 IE6은 버리는 것이
IE6을 제거하는 길이겠죠 ㅎㅎㅎ
ie6 버리기 전에 만든 놈 몇대 패버리고 싶네요. ㅎㅎㅎ
http://www.quirksmode.org/css/condcom.html 언급해주신 CC에 대한 내용입니다. 저도 처음엔 용어를 몰라서 뭔가 했는데 이거였군요. 감사합니다.
input[type=text] { padding:4px 8px 2px; font:normal 12px/1em dotum; }
정도로 줄 거 같습니다.
padding 으로 정렬을 하되. 글자의 line-height 는 글씨 크기와 같게 지정을 하면
아마도(?) 브라우저에서 같게 보이지 않을까 싶네요.
직접 브라우저 테스트를 하기 힘들어서 적어보기만 합니다.(Mac이라 IE가 ;)
이 방법이 되면 좀더 정교하게 조절할 수 있겠네요. 강좌 쓸때 테스트해봐야겠습니다.
포지션을 이용하면 되지 않나요?;;
저는 핵, important도 안씁니다;;
1,2픽셀따윈 자기 합리화시면 됩니다..ㅡ/.,ㅡ;;;;
그게 남자임 -/_-)b
포지션이요?
position 은 fixed absolute relative 를 주로 사용하는데.. (물론 static 이라던지 다른것도 있겠지만은..)
이걸로 line-height 를 다 잡을 수 있을까요?

현재 fact 는 input text 의 글자의 상하단의 위치가 (그러니까 입력받는 곳에서의 위치)서로 상이 하는 문제인데..
어멋..제가 난독증이 있는듯ㅠ..ㅋㅋ
여튼 혼란을 야기시킨점 죄송합니다~즐거운 주말 보내세용~
새로운 기법이 있는 줄 알고 긴장과 설렘이었는데 ㅎㅎㅎ;;
!important 만으로 ie6 에 대응할 수 있다는 새로운 정보 얻고 갑니다~ ^^ 감사감사~
댓글을 작성하시려면 로그인이 필요합니다. 로그인

프로그램

+
제목 글쓴이 날짜 조회
13년 전 조회 3,796
13년 전 조회 1,664
13년 전 조회 2,079
13년 전 조회 491
13년 전 조회 457
13년 전 조회 1,594
13년 전 조회 580
13년 전 조회 1,803
13년 전 조회 1,486
13년 전 조회 1,278
13년 전 조회 1,205
13년 전 조회 4,600
13년 전 조회 3,039
13년 전 조회 1,397
13년 전 조회 482
13년 전 조회 1,132
13년 전 조회 1,604
13년 전 조회 1,341
13년 전 조회 1,125
13년 전 조회 786
13년 전 조회 451
13년 전 조회 842
13년 전 조회 712
13년 전 조회 533
13년 전 조회 538
13년 전 조회 992
13년 전 조회 439
13년 전 조회 392
13년 전 조회 479
13년 전 조회 398
13년 전 조회 1,024
13년 전 조회 718
13년 전 조회 2,233
13년 전 조회 481
13년 전 조회 761
13년 전 조회 1,498
13년 전 조회 680
13년 전 조회 617
13년 전 조회 577
13년 전 조회 688
13년 전 조회 1,088
13년 전 조회 650
13년 전 조회 676
13년 전 조회 988
13년 전 조회 799
13년 전 조회 1,407
13년 전 조회 896
13년 전 조회 408
13년 전 조회 960
13년 전 조회 4,268
13년 전 조회 561
13년 전 조회 1,055
13년 전 조회 2,698
13년 전 조회 1,274
13년 전 조회 1,648
13년 전 조회 1,283
13년 전 조회 1,942
13년 전 조회 1,350
13년 전 조회 929
13년 전 조회 413
13년 전 조회 1.3만
13년 전 조회 1,186
13년 전 조회 3,329
13년 전 조회 960
13년 전 조회 422
13년 전 조회 592
13년 전 조회 409
13년 전 조회 534
13년 전 조회 4,319
13년 전 조회 6,146
13년 전 조회 863
13년 전 조회 4,653
13년 전 조회 954
13년 전 조회 474
13년 전 조회 645
13년 전 조회 462
13년 전 조회 352
13년 전 조회 597
13년 전 조회 756
13년 전 조회 412
13년 전 조회 484
13년 전 조회 913
13년 전 조회 7,463
13년 전 조회 2,692
13년 전 조회 400
13년 전 조회 990
13년 전 조회 913
13년 전 조회 1,049
13년 전 조회 4,907
13년 전 조회 354
13년 전 조회 871
13년 전 조회 2,305
13년 전 조회 1,942
13년 전 조회 1,617
13년 전 조회 1,815
13년 전 조회 2,726
13년 전 조회 372
13년 전 조회 1,850
13년 전 조회 1,259
13년 전 조회 3,052
🐛 버그신고