테스트 사이트 - 개발 중인 베타 버전입니다

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

· 13년 전 · 4266 · 13
글줄 정렬이 맞는 표현인지 모르겠는데;;
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개

어멋..제가 난독증이 있는듯ㅠ..ㅋㅋ
여튼 혼란을 야기시킨점 죄송합니다~즐거운 주말 보내세용~
13년 전
새로운 기법이 있는 줄 알고 긴장과 설렘이었는데 ㅎㅎㅎ;;
!important 만으로 ie6 에 대응할 수 있다는 새로운 정보 얻고 갑니다~ ^^ 감사감사~

게시글 목록

번호 제목
4851
30604
4842
26788
4847
4839
4838
24428
30600
28442
4835
4831
4825
26775
26768
4821
4818
4815
4804
4800
4796
26757
4792
18160
26754
4786
18157
4782
4777
18152
4775
4768
4763
4758
4756
4751
4740
26746
26736
4737
4731
4726
26726
4719
26403
4713
26398
4711
4706
28437
26709
18151
4705
4699
24421
4696
18150
18149
18148
18146
26397
26694
26679
4693
개발자 리자님? 2
4684
18145
JavaScript getHtmlInfo
26664
26656
28434
4681
28432
4673
4665
4660
26648
4656
4648
4649
4652
26642
4632
26630
4627
4622
18142
4606
4592
4583
4575
26616
4565
4550
4545
4524
28422
26611
4520
26600
28408
4516