반응형
이번에도 간단하게 HTML과 CSS 로 UI 를 구성하는데,
먼저 header 와 container, footer 가 고정이라 정의한다면
나름 괜찮은 방법이기에 다시 포스팅을 한다. 이미 모두 사용하고 있을 수도 있지만..
나는 기억력이 그다지 좋은 편이 아니기에 포스팅을 한다.
테스트 브라우저 : Google Chrome, IE8, IE6, FF, Opera
div 태그로 UI 를 구성함에 있어 기본적인 원칙.
요소들의 배치.
이 것이 상당히 중요한 원칙이다. 이 원리를 구현하고자 테스트를 반복함으로 알수 있있다.
먼저 이러한 UI 를 구성하고자 타겟을 설정하였다.
색상으로 박스를 설정하였다.
White (Background) : html, body, form, Wrap
Yellow : header
Container : blue
Contents : brown
box1 : cyan
box2 : skyblue
Footer : green
위를 구성하는 CSS 코드들은 기본적으로 padding 이 모두 0 이다.
이에 margin, position, width, height 로만 UI를 구성한 것 이다.
먼저 해당하는 속성들을 간단하게(?) 설명한다.
속성명 | 정의 | ||||||||||||||||
margin |
정의 : 해당 엘리먼트의 바깥 여백을 지정한다.
|
||||||||||||||||
position | 엘리먼트 위치속성 적용
|
||||||||||||||||
width | 엘리먼트의 가로 크기 (길이 단위 [예 : 픽셀], %, auto, inherit | ||||||||||||||||
height | 엘리먼트의 세로크기 (길이 단위 [예: 픽셀], %, auto, inherit |
먼저 header 와 container, footer 가 고정이라 정의한다면
container 내에서는 요소들의 배치가 자유로워야 한다.
이에 contents 라는 요소를 배치하고 그 안에 box1, box1-1, box2 이라는 요소들을 배치하였다.
box1-1 과 box2 는 같은 레벨이며 box1-1 은 box1 의 하위레벨 요소이다.
box1, box2 역시 contents 의 하위레벨 요소이다.
먼저 하위레벨 요소들의 위치 배정이 모든 브라우저에서 동일하게 적용된다면 정말로 실용성은
상당히 좋지 않은가?
이게 "웹표준" 이다.. 하면서 정의를 하면서 하지는 않겠다. 하지만 크로스 브라우징에 있어서만큼은
올바른 태그 사용과 표시오류가 없을 신뢰할 수 있었다.
신뢰기반은 무조건 실행과 테스트니 말이다.
먼저 html 태그의 코드 구성은 다음과 같다.
간단하게 body 태그 안에 코드만 작성하였다.
White (Background) : html, body, form, Wrap
Yellow : header
Container : blue
Contents : brown
box1 : cyan
box2 : skyblue
Footer : green
이와 같은 구성이 증명된다.
UI 를 구성하는 라인 끝에 시작은 <!-- WRAP -->. 끝은 <!-- //WRAP -->
처럼 주석을 작성하여 보기에 편의를 두었다.
참. 이에 메타태그도 추가하겠다. 큰 상관은 U-UA_Compatible 속성만 있겠지만야. 일단 고정적으로
쓰는 메타를 추가한다.
그럼 위에서도 보다시피 렌더링 유도시에는 인터넷 익스플로러 최신버전임을 알 수 있다.
그럼에도 불구하고 IE6,7,8 에도 모두 동일한 결과를 나타냈기 때문에 흡족하였다.
그리고 이를 구성하는 CSS 코드.
보면 생각보다 상당히 간단함을 알 수 있다.
먼저 html, body, form 은 무조건 전체를 지향하며,
이제 Wrap 역시 전체를 지향하였다. 굳이 divWrap 으로 감싼 이유는.. 업무적 특성상인데.. 나중에
비동기 방식등에 대비하여 상당히 유용한 경우가 있다.
이건 사용에 따라 다르니. 테스트로만..ㅋㅋ
그리고 header 는 가로 1000픽셀의 세로 100픽셀. 그리고 상단 0 오른쪽 자동 하단 0 왼쪽 0 으로
margin 을 지정하였다. 쉽게 말해 위에 딱 붙이고 , 가운데 정렬하겠단 말이다.
container 는 가로 100%. 브라우저 끝까지. 세로는 500픽셀로. position 속성은 자신이 배치된 위치를
보존하기 위해 relative 로 지정하였다.
이에 하위 divContents 엘리먼트 역시 가로는 900픽셀로 지정하고 세로는 container 의 세로크기를
모두 상속받기 위해 100% 로 지정하였다.
그리고 위치 역시 가운데. 그리고 position 역시 relative.
이제 내부에 위치한 특정 위치에 엘리먼트들을 배치함이다. 주목할만한 포인트다.
앗. 근데 오타다. margin:0 은 신경쓰지 마사기 바람.
또 캡쳐가 귀찮아서 오타라고 미리 인정함.ㅋㅋ
이에 가로, 세로는 정의되어있고. position 은 absolute. margin 은 보이는 바와 같다.
이렇게 설정했을때 absolute 로 인해 자신이 차지하고 있는 공간은 사라지고 상위 요소 절대지점에
위치하며 그 시점으로 부터에 margin 을 이용하여 원하는 특정위치에 배치가 가능하게 되는것이다.
이게 포인트인것이다.
일단 위와 같은 테스트를 경험하게 되면 결과를 체험할 수 있을것이다.
반응형
'Development > HTML' 카테고리의 다른 글
최고의 HTML 편집기가 궁금합니다. (0) | 2011.11.09 |
---|---|
3D로 강력해진 구글 ‘크롬9′ 공개 (0) | 2011.02.10 |
UI : 엘리먼트 배치 (0) | 2010.11.10 |
HTML UI :: 세로 100% 설정 (0) | 2010.10.29 |
HTML5의 모든 것 (0) | 2010.07.29 |
댓글