지운아빠

크로스브라우징 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,927
13년 전 조회 1,781
13년 전 조회 2,200
13년 전 조회 617
13년 전 조회 580
13년 전 조회 1,703
13년 전 조회 704
13년 전 조회 1,928
13년 전 조회 1,613
13년 전 조회 1,402
13년 전 조회 1,330
13년 전 조회 4,736
13년 전 조회 3,154
13년 전 조회 1,519
13년 전 조회 606
13년 전 조회 1,252
13년 전 조회 1,728
13년 전 조회 1,459
13년 전 조회 1,251
13년 전 조회 909
13년 전 조회 577
13년 전 조회 977
13년 전 조회 831
13년 전 조회 660
13년 전 조회 655
13년 전 조회 1,111
13년 전 조회 550
13년 전 조회 507
13년 전 조회 603
13년 전 조회 514
13년 전 조회 1,143
13년 전 조회 841
13년 전 조회 2,352
13년 전 조회 602
13년 전 조회 874
13년 전 조회 1,619
13년 전 조회 791
13년 전 조회 742
13년 전 조회 684
13년 전 조회 804
13년 전 조회 1,196
13년 전 조회 761
13년 전 조회 791
13년 전 조회 1,116
13년 전 조회 911
13년 전 조회 1,533
13년 전 조회 1,017
13년 전 조회 532
13년 전 조회 1,074
13년 전 조회 4,384
13년 전 조회 676
13년 전 조회 1,179
13년 전 조회 2,817
13년 전 조회 1,403
13년 전 조회 1,765
13년 전 조회 1,401
13년 전 조회 2,068
13년 전 조회 1,466
13년 전 조회 1,055
13년 전 조회 528
13년 전 조회 1.3만
13년 전 조회 1,310
13년 전 조회 3,442
13년 전 조회 1,079
13년 전 조회 532
13년 전 조회 713
13년 전 조회 527
13년 전 조회 642
13년 전 조회 4,432
13년 전 조회 6,253
13년 전 조회 948
13년 전 조회 4,763
13년 전 조회 1,065
13년 전 조회 577
13년 전 조회 748
13년 전 조회 575
13년 전 조회 468
13년 전 조회 717
13년 전 조회 861
13년 전 조회 523
13년 전 조회 595
13년 전 조회 1,036
13년 전 조회 7,577
13년 전 조회 2,785
13년 전 조회 508
13년 전 조회 1,091
13년 전 조회 1,023
13년 전 조회 1,130
13년 전 조회 5,025
13년 전 조회 470
13년 전 조회 990
13년 전 조회 2,423
13년 전 조회 2,056
13년 전 조회 1,732
13년 전 조회 1,922
13년 전 조회 2,820
13년 전 조회 482
13년 전 조회 1,954
13년 전 조회 1,362
13년 전 조회 3,148
🐛 버그신고