인프런 커뮤니티 질문&답변
position 속성, 수평수직 중앙 성질
작성
·
153
1
.container {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
.app-ui {
width: 360px;
height: 640px;
transform: rotate(-30deg) skewX(20deg);
position: relative;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
transition: 0.5s;
background-color: #eee;
}
질문이 두 가지 있습니다.
1. position: absolute; 는 inline 요소가 되고, position: relative;의 경우에는 inline 요소가 되지
않나요?! inline 요소가 될 경우, width와 height를 주지 못할 것 같은데 줄 수 있길래 여쭙니다!
2. .container 태그에 수평수직 중앙을 준 뒤, 밑에 app-ui 클래스에서 position: relative를 주면
갑자기 수평수직 중앙이 망가집니다. 그 이유가 무엇인가요? 여기서 width와 height 값을 이미지 크기값으
로 주면 다시 수평수직 중앙이 맞춰집니다.
답변 1
1
코딩웍스(Coding Works)
지식공유자
1. position: absolute; 는 inline 요소가 되고, position: relative;의 경우에는 inline 요소가 되지 않나요?! inline 요소가 될 경우, width와 height를 주지 못할 것 같은데 줄 수 있길래 여쭙니다!
>> position: absolute; 는 모든 요소를 inline-block으로 display 성질을 바꿉니다. 그래서 크기값을 가질 수 있습니다. inline으로 바뀌는게 아닙니다.
2. .container 태그에 수평수직 중앙을 준 뒤, 밑에 app-ui 클래스에서 position: relative를 주면 갑자기 수평수직 중앙이 망가집니다. 그 이유가 무엇인가요? 여기서 width와 height 값을 이미지 크기값으로 주면 다시 수평수직 중앙이 맞춰집니다.
>> 질문하신 현상은 일어나지 않을텐데요. 제가 해봤는데 flex로 자식요소인 .app-ui의 수직수평 중앙정렬에 관한 부분은 relative width height와 관계없어요. 아래 코드를 복사 붙여넣기 해보세요. html을 올리지 않아서 모르겠지만 html이 좀 잘못되어 있는게 아닌가 합니다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>w3c validator</title>
<style>
.container {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
.app-ui {
border: 1px solid #000;
/* width: 200px;
height: 200px; */
position: relative;
transform: rotate(-30deg) skewX(20deg);
}
</style>
</head>
<body>
<div class="container">
<div class="app-ui">app-ui</div>
</div>
</body>
</html>





