본문 바로가기
frontend/HTML

position 속성

by Mr.코딩 2023. 7. 21.

[html] position 속성을 absolute로 하는 것과 relative로 하는 것의 차이는?

 

chatGTP

`position` 속성을 `absolute`와 `relative`로 설정하는 것은 웹 페이지에서 요소의 위치를 조정하는 데 사용되는 두 가지 기본적인 방법입니다. 이 두 속성의 차이점은 요소가 상대적으로 배치되는 기준점과 주변 요소들과의 상호작용에 있습니다.

1. `position: relative;`
   - 상대적인 위치 지정 방법입니다.
   - 요소가 원래 있어야 할 위치를 기준으로 위치를 조정합니다.
   - 다른 요소들과의 상호작용에서는 일반적인 문서 흐름에 따라 배치됩니다.
   - `top`, `right`, `bottom`, `left` 등과 함께 사용하여 요소의 위치를 조정할 수 있습니다. 이 값들은 요소의 원래 위치로부터 얼마나 떨어져 있는지를 나타냅니다.
   - 주변 요소들과의 상호작용에서 다른 요소들에게 영향을 미치지 않으며, 다른 요소들도 해당 요소의 위치를 고려하지 않습니다.

```html
<div style="position: relative; top: 20px; left: 30px;">
  <!-- 이 요소는 원래 위치를 기준으로 top과 left에 지정된 값만큼 떨어진 위치에 배치됩니다. -->
</div>
```

2. `position: absolute;`
   - 절대적인 위치 지정 방법입니다.
   - 요소가 가장 가까운 "조상" 요소 중 `position` 속성 값이 `relative`, `absolute`, `fixed`, 또는 `sticky`인 요소를 기준으로 위치를 조정합니다.
   - 만약 조상 요소들 중에 해당하는 것이 없다면, 문서의 최상위 요소(일반적으로 `<body>`)를 기준으로 위치를 조정합니다.
   - 주변 요소들에 영향을 미치지 않고, 다른 요소들도 해당 요소의 위치를 고려하지 않습니다. 다른 요소들이 겹치는 현상이 발생할 수 있으므로 주의해야 합니다.

```html
<div style="position: relative;">
  <div style="position: absolute; top: 20px; left: 30px;">
    <!-- 이 요소는 상위 요소의 위치를 기준으로 top과 left에 지정된 값만큼 떨어진 위치에 배치됩니다. -->
  </div>
</div>
```

요약하자면, `position: relative;`는 요소를 원래 있어야 할 문서의 흐름에 따라 배치하면서 상대적으로 이동시킬 수 있고, `position: absolute;`는 요소를 조상 요소 중 가장 가까운 요소를 기준으로 절대적인 위치에 배치합니다. 따라서 `absolute`로 설정된 요소는 다른 요소와 겹치는 현상이 발생할 수 있으므로 주의해서 사용해야 합니다.