2009년 7월 28일 화요일

display float inline block 엘러먼트

1. display

block Element 를 정렬할때 display: inline; 이나 float를 사용한다고 알고계시는 퍼블리셔들이 몇명이있다.
하지만 display경우에는 말그대로 디스플레이될 상태를 설정하는것이다.
!  inline 레벨로 할것이냐 block레벨로 할것이냐 아니면 숨길것이냐를 설정하는것이다.

예전에 어딘가에서 display: inline; 과 float:left;를 같은 용도로 정렬로 사용하는데 차이점을 묻는 글을 본적이 있다.
block을 inline으로 하면 자연스럽게 인라인의 특징인 left정렬이 되는것이 당연하다.
예를 들어 spaninline요소이다 이녀석을 <span>aaa</span><span>aaa</span> 당연히 left정렬이 된다.
하지만 block요소들은 float로 설정하지않은이상은 떨어져서 한줄씩나온다.

고로 결론은
block의 정렬은 float  ! ! !
inline의 요소의 정렬은 text-align인것이다.

ps. block의 중앙정렬은 정렬을 원하는 block요소에서 margin: 0 auto;를 해주면 중앙 정렬이 된다

  block의 특성상(IE) width값을 줘야중앙정렬이 된다.

(DTD설정은 당연 해줘야함)


2. float

float는 위에서 언급한 바와 같이 object 즉 block의 정렬을 담당하고있는 녀석이다.

float Attribute

-none

Default. Object displays where it appears in the text.

-left

Text flows to the right of the object.

-right

Text flows to the left of the object.

위의 Attribute 를 보다싶이 총 3가지의 정렬이 존재 한다.

float자석과도 같다 서로서로 왼쪽으로 붙을지 오른쪽으로 붙을지 결정만해주면
float해준 다음 Element 녀석들은 무조껀 그 효과로 인해서 붙어버린다.

이것을 미연에 방지하기위에서 clear을 해주는것이다.
다음은 clear에 관한 Attribute 이다.

clear Attribute

-none

Default. Floating objects are allowed on both sides.

-left

Object is moved below any floating object on the left side.

-right

Object is moved below any floating object on the right side.

-both

Object is moved below any floating object.

clear은 혼자 사용할때는 아무 효과가 없다 이녀석의 목적은 float된 녀석들을 초기화 시켜버리는 기능을 한다 .



clear:left; : 왼쪽으로 붙은 녀석들만 원래대로 떨어져 ! !
clear:right; : 오른쪽으로 붙은 녀석들만 원래대로 떨어져! !
clear:both; 다 떨어져 !

ps.떨어져는 원래의 속성으로 돌아가란말이다 ㅡ_ㅜ 즉 block요소의 고유의 정렬인 한줄씩정렬

float:right;float: left;를 같이 사용했는데
clear:left;를 해버리면 float:right;는 살아 있어서 후에 올 Element의 한놈은 오른쪽으로 붙어 버린다
잘생각해서 clear를 사용하자

그리고 하위 Element가 없어도 종료시점에는 가능하면 clear을 해주자 나중에 include로 불러들이거나 업데이트할때 또 오류가 발생할수있는걸 미연에 방지하기위해서이다.



출처 : Tong - interblue78님의 Web Design통

2009년 7월 12일 일요일

인터넷익스프로 전용 cursor:hand like!



style="cursor:pointer"  파이어폭스나 기타 브러우져에서는 이렇게 이용해야한다.
style="cursor:hand" 는 익스프로 적용  이제부터 안써야겠다.