인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

긴장한 곰님의 프로필 이미지
긴장한 곰

작성한 질문수

HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)

가상클래스 hover 활용한 실전 퍼블리싱 05(앱 UI 레이어 3D 호버 에니메이션)

position 속성, 수평수직 중앙 성질

작성

·

142

1

.container {
    displayflex;
    align-itemscenter;
    justify-contentcenter;
    height100vh;
}
.app-ui {
    width360px;
    height640px;
    transformrotate(-30degskewX(20deg);
    positionrelative;
    box-shadow0 0 20px rgba(0000.3);
    transition0.5s;
    background-color#eee;
}
질문이 두 가지 있습니다.
1. position: absolute; 는 inline 요소가 되고, position: relative;의 경우에는 inline 요소가 되지
않나요?! inline 요소가 될 경우, width와 height를 주지 못할 것 같은데 줄 수 있길래 여쭙니다!
2. .container 태그에 수평수직 중앙을 준 뒤, 밑에 app-ui 클래스에서 position: relative를 주면
갑자기 수평수직 중앙이 망가집니다. 그 이유가 무엇인가요? 여기서 width와 height 값을 이미지 크기값으
로 주면 다시 수평수직 중앙이 맞춰집니다.

답변 1

1

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 {
      displayflex;
      align-itemscenter;
      justify-contentcenter;
      height100vh;
    }
    .app-ui {
      border1px solid #000;
      /* width: 200px;
      height: 200px; */
      positionrelative;
transformrotate(-30degskewX(20deg);
    }
  </style>
</head>
<body>
  
  <div class="container">
    <div class="app-ui">app-ui</div>
  </div>

</body>
</html>

긴장한 곰님의 프로필 이미지
긴장한 곰

작성한 질문수

질문하기