인풋박스 클릭/아웃시 변화

script 2010. 4. 22. 10:27
jquery를 사용하면 간단하게 할 수 있는데 아래 효과 하나때문에 쓰기엔 좀 망설여질때가 있다.
 
<script>
function inFocus1(i) {
 (i).style.border='2px solid green';
 (i).style.background='yellow';
 (i).style.padding='2px 0 2px 3px;';
}
function outFocus1(i) {
 (i).style.border='2px solid #ccc';
 (i).style.background='#fff';
 (i).style.padding='3px 0 3px 5px;';
}
</script>


<input type="text" name="jumin1"  maxlength="6" style="border:2px solid #ccc;width:105px;height:25px"  onkeyup="nextsell();" onFocus="inFocus1(this);" onBlur="outFocus1(this);">

이미지를 바 꿀수 있는 팁 링크
http://blog.naver.com/eujin2/100113050648

'script' 카테고리의 다른 글

이미지 롤오버  (0) 2010.12.20
텍스트 클릭으로 div 보이고 감추기  (0) 2010.12.03
selet 박스에 디자인 입히기  (0) 2010.10.05
토글 메뉴  (0) 2010.04.29
자바스크립트 소스 모음 링크  (0) 2010.04.28
:

브라우저별 테이블 height 값으로 본 픽셀 테스트

크로스브라우징 2010. 4. 21. 11:50

<style type="text/css">
body{ margin:20px; padding:0; font-size:12px; }
table{ width:700px; border:0; border-spacing:0; padding:0;}
table th, table td{ border-bottom:1px #ccc solid; height:20px;}
</style>
<!--[if IE]>
    <link rel="stylesheet" type="text/css" href="ie.css" />
<![endif]-->

조건부 주석 : table{border-collapse:collapse;}

위 CSS를 적용하면 각 브라우저별로 아래와 같은 수치가 나온다.
조건부 주석을 단 이유는 ie6,ie7이 border-spacing:0; 을 인식하지 못하고 벌어지는 현상이 나오기 때문이다.

파이어폭스:19px
오페라:19px
ie:22px
크롬:21px
사파리:21px


이번엔 테이블에 직접 cellpadding="0" cellspacing="0" 값을 넣고 실험해 보았다. 당연히 주석처리 된 부분도 빠진다.
border-collapse:collapse 역시 값을 다르게 보여주기 때문에 꺼리는 편.

파이어폭스:19px
오페라:19px
ie:20px
크롬:20px
사파리:20px

파폭과 오페라를 뺀 나머지 브라우저는 내가 원하는 height=20px 값을 정확하게 보여주었다. 하코사에서 테이블값을 넣을때
cellpadding="0" cellspacing="0" 은 테이블에 직접 넣는게 좋다는 말을 들었는데 직접 실험해보니 수치가 말해준다.

파폭과 오페라에 핵을 쓰기 싫어 이미지 처리를 해보았다.

body{ margin:20px; padding:0; font-size:12px; }
table{ width:700px; border:0;}
table th, table td{ background:url(b_list_bg.gif) repeat-x 0 20px; height:21px;}

<table cellpadding="0" cellspacing="0">
</table>

모든 브라우저가 동일하게 20px;의 결과값을 보여준다.

아래와 같은 디자인의 게시판을 만들경우 table에 background:url(new_boardList.gif) no-repeat; 를 넣으면 col 값이 있을 경우 th 부분에 ie 6/ie 7 에서  원치않는 border가 나오게 된다. 


이럴 경우 반드시 col 을 써줘야 하는 경우가 아니라면 생략하도록 한다.  또는 div/span로 테이블을 감싸 div/span에 이미지를 넣는 방법도 있다. 
레이아웃을 만들때 보통 게시판이 들어가게 되는 공간을 div로 만들고 그 밑에 ul태그로 버튼을 넣게 되는데 이럴경우 테이블과 ul태그를 한꺼번에 감싸기 때문에 테이블의 이미지를 위해서 불필요한 div/span 을(를) 넣을 수 밖에 없게 된다. 경우에 따라 선택해서 쓰면 되겠다.

'크로스브라우징' 카테고리의 다른 글

ie6 position 버그  (0) 2010.07.09
ie 랜더링 문제  (0) 2010.05.14
게시판 tr 오버시 색을 입히는 방법  (0) 2010.04.08
1px 공간 버그  (0) 2010.04.08
ie6 png이미지의 사용  (0) 2010.04.07
:

display: block과 inline

CSS 2010. 4. 15. 13:11

아래 태그는


<div>div1</div>
<div>dIv2</div>
<div>div3</div>


웹 브라우저에 아래와 같이 표시된다.


반면에 아래 태그는


<span>span1</span>
<span>span2</span>
<span>span3</span>


웹 브라우저에 아래와 같이 표시된다.

 

이 둘 사이에 나타나는 가장 큰 차이는 줄 바꿈 여부이다. div 태그는 줄바꿈되고, span 태그는 줄바꿈되지 않는다.

div 태그가 줄바꿈되는 이유는 CSS display 속성 기본 값이 block이기 때문이고, span 태그가 줄바꿈되지 않는 이유는 CSS display 속성 기본 값이 inline이기 때문이다.


아래처럼 반대로 설정하면


div {
  display: inline;
}

span {
  display: block;
}


웹 브라우저에 아래와 같이 표시된다.

 

block과 inline의 차이점은 줄바꿈만은 아니다.

  • block으로 설정하면 줄바꿈 되고, inline으로 설정하면 줄바꿈이 되지 않는다.
  • block으로 설정하면 상/하 margin과 padding 속성을 사용할 수 있지만, inline으로 설정하면 상/하 margin과 padding 속성을 사용할 수 없다.
  • block으로 설정하면 width, height 속성을 사용할 수 있지만, inline으로 설정하면 width, height 속성을 사용할 수 없다.


출처: 딤돌 - 지구에 거꾸로 매달리기



추가
inline 속성은 li 등에  이미지를 넣어 돌릴경우 빈 여백이 생긴다. 이것때문에 평소 이 태그를 자주 쓰지 않았었는데 float 속성은 div 높이값을 인식하지 못하기 때문에 해결 방안을 적어놓는다.

이미지 자체에 vertical-align:top; 을 먹이면 빈 여백이 사라지고 ie6, 7 에서도 같은 사이즈의 결과물을 얻을 수 있다.

 

'CSS' 카테고리의 다른 글

폰트 사이즈 비교  (0) 2010.04.22
CSS속성 선언 순서  (0) 2010.04.22
제목이나 디자인적 요소를 감출시..  (0) 2010.04.14
텍스트에 의한 테이블 늘어남 방지  (0) 2010.04.08
font 와 background 대표속성  (0) 2010.04.06
: