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

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

· 13년 전 · 4268 · 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 에 대응할 수 있다는 새로운 정보 얻고 갑니다~ ^^ 감사감사~

게시글 목록

번호 제목
32071
32070
18535
5369
27088
5364
32069
32068
18521
5359
18520
32067
32066
27081
18514
5355
5354
5350
32065
18510
18503
32064
32063
18502
18499
18495
5345
27079
30718
18494
18493
5343
18491
18489
18487
18486
18484
18482
32062
26476
18481
5339
18480
18476
27137
30711
18475
18474
18470
32061
18469
32060
5335
32059
5333
32058
32057
30705
5326
18466
18462
18461
31504
30696
32056
5321
18456
18455
32055
5315
5310
27072
32054
27066
18453
30692
30690
18451
18450
18449
5307
32051
18448
18447
18441
18437
18429
32049
30686
5299
5289
30677
32042
18426
18422
18420
18418
5285
5282
26459