Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

3일만에 끝내는 HTML, CSS, JS 기초

c11. CSS 포지션 프로퍼티 본문

CSS

c11. CSS 포지션 프로퍼티

눈의나라북범 2016. 6. 5. 15:30

CSS 포지션 프로퍼티

포지션 프로퍼티 (position property) 은 태그들을 어떻게 위치시킬지에 대한 유형을 지정합니다.

모두 네가지의 포지션 값이 있는데 아래와 같습니다.

	기본위치 : static
	상대위치 : relative
	고정위치 : fixed
	절대위치 : absolute

태그들은 위, 아래, 왼쪽, 오른쪽 프로퍼티로 정렬 시키는데, 먼저 포지션 프로퍼티 값에 무엇을 설정 하느냐에 따라 가끔 정렬이 원하는데로 되지 않을 수 있습니다.

따라서, 위, 아래, 왼쪽, 오른쪽 속성 값들은, 포지션 프로퍼티 값에 따라 달리 보이게 될 것입니다.
position: static;
일반적인 포지셔닝으로 기본값입니다. position: static; 으로 설정된 태그들은 특별히 위치가 지정되지 않습니다. 단지, 페이지내 일반적인 흐름에 따라 늘 위치 합니다.
<style> div.static { position: static; border: 10px solid yellow; } </style> <div class="static"> position: static; 즉, 기본위치로 포지셔닝 된 div 태그 </div>
position: static; 즉, 기본위치로 포지셔닝 된 div 태그

position: relative;
position: relative; 는 상대적인 위치에 놓이게 하는 속성입니다. 상대적으로 위치된 태그들로, 위, 아래, 오른쪽, 왼쪽 속성을 부여하면, 위치가 조정되게 됩니다.
<style> div.relative { position: relative; left: 50px; width: 400px; border: 10px solid green; } </style> <div class="relative"> position: relative; 즉, 상대위치로 포지셔닝 된 div 태그 </div>
position: relative; 즉, 상대위치로 포지셔닝 된 div 태그

position: fixed;
position: fixed; 를 갖는 태그들은 뷰포트 (viewport, 화면창) 내에서 상대적인 위치에 고정됩니다. 즉, 다시 말해, 스크롤링을 해도 언제나 같은 위치에 머무르게 된다는 의미입니다. 위, 아래, 오른쪽, 왼쪽 속성으로 태그의 위치를 지정해 줄 수 있습니다.
<style> div.fixed { position: fixed; bottom: 0; right: 0; width: 300px; border: 10px solid pink; } </style> <div class="fixed"> position: fixed; 즉, 고정위치로 포지셔닝 된 div 태그 </div>
position: fixed; 즉, 고정위치로 포지셔닝 된 div 태그

position: absolute;
position: absolute; 를 갖는 태그들은 가장 가깝게 위치한 부모 태그로 부터 상대적인 위치에 위치합니다. (위의 position: fixed; 를 갖는 태그들은 뷰포트 (viewport, 화면창) 에 대해 상대적인 위치 였던 것에 대비됩니다). 그리고, 만일 절대위치 속성을 갖는 태그들이 위치를 잡은 부모태그가 없다면, 문서의 body 를 기준으로 페이지 스크롤 할때 이동하게 됩니다. 이때 "먼저 위치한" 태그는 정적위치(static) 를 제외한 다른 모든 포지셔닝 속성값이 될 수 있습니다.
<style> div.relative2 { position: relative; width: 200px; height: 200px; border: 10px dotted red; } div.absolute { position: absolute; top: 90px; right: -130px; width: 200px; height: 100px; border: 10px dotted blue; } </style> <div class="relative2">position: relative; 즉, 상대적으로 위치된 태그들로, 위, 아래, 오른쪽, 왼쪽 속성을 부여받는 속성값입니다. <div class="absolute">position: absolute; 즉, 가장 가까이 위치한 태그에 대해 절대위치에 고정되는 속성값입니다.</div> </div>
position: relative; 즉, 상대적으로 위치된 태그들로, 위, 아래, 오른쪽, 왼쪽 속성을 부여받는 속성값입니다.
position: absolute; 즉, 가장 가까이 위치한 태그에 대해 절대위치에 고정되는 속성값입니다.

태그 끼리 서로 겹칠 때, z-index 속성으로 태그의 쌓는 순서(어느 태그가 앞에 올 것인지) 를 지정합니다.

z-index 가 큰 것이 항상 앞에 옵니다. 

그리고 z-index 가 지정되지 않은 두개의 태그에서는, HTML 코드에 나중에 위치한 태그가 위로 갑니다.

<style> img.absolute2 { position: absolute; left: 200px; top: 200px; z-index: -1; } </style> <img class="absolute2" src="http://icons.iconarchive.com/icons/designbolts/ios8-cirtangle-concept/128/Gallery-icon.png" width="128" height="128"> <p>이미지가 z-index -1 을 가지므로, 텍스트의 뒤에 놓이게 됩니다.</p>

이미지가 z-index -1 을 가지므로, 텍스트의 뒤에 놓이게 됩니다. 스크롤 맨 위의 산 모양 그림 참조하세요.




[광고] Udemy 동영상 강의로 보기

'CSS' 카테고리의 다른 글

c13. CSS 플로우트와 인라인-블록의 차이  (0) 2016.06.05
c12. CSS 플로우트와 클리어 프로퍼티  (0) 2016.06.05
c08. CSS 디스플레이 프로퍼티  (0) 2016.06.05
c07. CSS 테이블 및 목록  (0) 2016.06.05
c06. CSS 링크 버튼  (0) 2016.06.05