탈

크로스브라우징 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 에 대응할 수 있다는 새로운 정보 얻고 갑니다~ ^^ 감사감사~
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
16-03-02 조회 3,240
16-01-19 조회 2,526
15-12-23 조회 2,959
15-12-08 조회 3,677
14-10-30 조회 5,732
14-06-06 조회 5,555
12-08-30 조회 3,910
12-08-20 조회 3,828
12-07-15 조회 5,158
12-07-13 조회 3,630
12-07-06 조회 3,858
12-06-27 조회 3,366
12-06-23 조회 3,570
12-05-03 조회 5,182
12-04-20 조회 4,126
12-03-29 조회 4,632
12-03-22 조회 4,738
12-03-22 조회 3,510
12-03-21 조회 3,282
12-03-11 조회 3,715
12-03-06 조회 4,263
12-02-22 조회 4,532
12-02-17 조회 3,329
12-02-17 조회 6,179
12-02-14 조회 6,137
12-02-06 조회 4,261
12-01-18 조회 3,215
12-01-06 조회 3,444
11-12-30 조회 3,914
11-12-30 조회 7,061
11-12-21 조회 3,280
11-12-21 조회 4,245
11-12-16 조회 3,273
11-12-15 조회 3,323
11-12-15 조회 3,422
11-12-15 조회 4,223
11-12-09 조회 3,227
11-12-09 조회 3,308
11-12-07 조회 2,874
11-12-07 조회 3,961
11-12-05 조회 4,417
11-12-02 조회 3,861
11-12-01 조회 2,731
11-12-01 조회 2,776
11-12-01 조회 2,763