본문 바로가기

CSS

CSS- position

position 속성은 문서 상에 요소를 배치하는 방법을 지정합니다. 

toprightbottomleft 속성이 요소를 배치할 최종치를 결정합니다.

 

position: static;
position: relative;
position: absolute;
position: fixed;

 

relative

position: relative; 자체로는 특별한 의미가 없습니다.

딱히 어느 위치로 이동하지는 않습니다.

 

위치를 이동시켜주는 top, right, bottom, left 프로퍼티가 있어야 원래의 위치에서 이동할 수 있습니다.

 

top, right, bottom, left은 position이라는 프로퍼티가 있을 때만 적용되는 프로퍼티 입니다.

 

 

.relative {

position: relative;

}

.top-20 {

top: -20px;

left: 30px;

}

 

absolute

position: absolute; 는 이름과 같이 절대적인 위치에 둘 수 있습니다.

어떤 기준으로 절대적이냐 하면, 특정 부모에 대해 절대적으로 움직이게 됩니다.

부모 중에 position이 relative, fixed, absolute 하나라도 있으면 그 부모에 대해 절대적으로 움직이게 됩니다.

 

일반적으로 absolute를 쓸 경우, 절대적으로 움직이고 싶은 부모에게 position: relative; 를 부여하면 됩니다.

 

 

 

p {

margin: 0;

background-color: yellow;

}

.absolute {

position: absolute;

}

.right-0 {

right: 0;

bottom: 0;

 

p태그에 노락색으로 배경을 칠했습니다.

원래 p태그는 block-element이기 때문에 가로크기가 부모 너비만큼 전부 차지해야 하는데,

마치 inline-element처럼 내용의 크기만큼만 너비가 생겼습니다.

이렇게 absolute 값을 갖게 되면, 내용의 크기만큼만 가로크기가 됩니다.

 

right: 0; 의 의미는 오른쪽으로부터 0만큼 떨어졌다는 뜻이라

부모의 우측에 딱 붙어서 나왔습니다.

bottom: 0;도 마찬가지입니다.

 

.right-0에 left:0;을 추가해보세요.

부모의 왼쪽에 0떨어져있다는 뜻이라서 왼쪽부터 요소가 시작하게 됩니다.

마치 .right-0에 width: 100%;를 준 것과 같은 결과입니다.

 

fixed는 말그대로 고정됐다는 뜻입니다.

absolute는 relative를 가진 부모가 필요했는데,

fixed는 필요없습니다.

 

fixed는 눈에 보이는 브라우저 화면 크기만큼, 화면 내에서만 움직입니다.

'CSS' 카테고리의 다른 글

css font-family 그리고 웹 폰트  (0) 2021.01.12
CSS- float  (0) 2020.03.29
css -input  (0) 2020.03.29
css -table  (0) 2020.03.29
css-list  (0) 2020.03.29